C语言字符串指针和字符数组区别

字符串指针变量即字符指针,存放字符串的首地址。

对字符串指针方式
    char *ps="C Language";
可以写为:
    char *ps;
    ps="C Language";
而对数组方式:
    static char st[]={"C Language"};
不能写为:
    char st[20];
    st={"C Language"};
但可用:
char *ps;
static char st[]={"C Language"};
ps=st;//char *ps=st也是可以的

关于字符数组的名称,表示数组第一个元素的地址。

可用赋值给字符指针变量的定义(*p),也可用赋值给指针(p)。

是不是有那么一点奇怪???

字符串赋值给字符指针,实际是把首字符地址给它

在处理指针的时候横多时候,好像都是处理指针所指向的数据而不是指针本身的地址。

有点晕,暂时记录。。。

原文地址:https://www.cnblogs.com/straybirds/p/14835699.html