c语言中数组和指针的差别?

在c语言中的一本书看到一句话char a[]=" I love you";char *b=" i love you ";书上说这这二者的祖耀区别是a是一个常量,而b是一个变量,我不是很理解,a是数组的首地址,是一个常量可以理解;但是p里面装的不也是地址吗?他为什么就成了变量了呢?求解释,谢谢

a是数组名称,在程序中不可以给a赋予其他地址,只能原样使用;作为数组名的a不是变量;通过a可以访问数组;
b是指针变量,可以被修改值,比如b++;
数组a开设了存储空间可以存放char型数据,这些数据可以被修改;
变量b指向的字符串数据存放在程序的常量区,一般是不可以修改的,只能取出来用(只读)。
温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网