字符型指针与字符串常量

Posted imhuanxi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字符型指针与字符串常量相关的知识,希望对你有一定的参考价值。

字符串常量在编译时系统给定存储位置,可以赋值给字符指针;此时可以通过下标进行访问,但不可以通过下标修改字符串的值。

字符指针指向字符数组时可以修改字符串的值。

#include <stdio.h>
#include <string.h>
 int main()
{
    char a[26];
    char *b = "abc";   //定义时初始化
    b="123";           //可以被重新赋值
    //b[1] = ‘v‘;      //不可以被修改
    a[1] = b[1];       //可以通过下标读取
    strcpy(a, "catdog");
    strcat(a, "");
    b = a;           //指向字符数组
    b[0] = x;      //可以被修改
    b[1] = "x";      //实际上将字符常量"x"的地址付给b[1],字符串将出现乱码
    printf("%s
", a);
    system("pause");
    return 0;
}

 

以上是关于字符型指针与字符串常量的主要内容,如果未能解决你的问题,请参考以下文章

字符数组与字符指针

转:字符数组与字符指针

C 语言内存四区原理 ( 常量区示例 | 不同函数返回的相同字符串的指针地址相同 )

Part6 数组指针与字符串 6.13字符串

错误记录C 语言中通过指针操作字符串常量出错记录 ( 只有 栈内存 或 堆内存 中的数据才能通过指针修改 | 不要通过指针修改常量区的字符串 )

实验12——指针的基础应用2