c语言中,字符数组的首地址字符指针的地址也是第一个字符的地址吗?为什么不一样?

字符串常量的地址是是什么?
字符数组的首地址不就是第一个元素的地址吗?字符指针的地址也是第一个字符的地址吗?为什么不一样?
字符串常量的地址是是什么?

字符串常量的地址是字符串保存在内存的一组地址。字符数组的首地址代表着该字符串第一个元素的地址。

字符指针是指向字符类型的指针。字符指针并没有地址,当定义一个字符指针变量后,这个变量便有了自己的地址,字符指针变量同时保存着某个地址,这个地址也可以指向单个字符元素,也可以指向字符串。
如:
char a;
a=getchar();
char *p;//变量p本身有一个地址.
p=&a;//p保存了变量a的地址,也就是说p指向了a.
同样地,
char a[20]="english";
char *p=a;//p保存了字符数组的首地址,也就是说p指向了该数组的第一个元素。
求赏分~
温馨提示:答案为网友推荐,仅供参考
相似回答