char s[]和char *s的区别

泄露秘密 提交于 2020-02-20 04:35:02

 
char *s1="hello";//声明一个指针指向常量"hello"
char s2[]="hello";//在栈中开辟一个数组字符"hello";
/** s2[]="hello" 相当于
* char s2[6];
* s2[0]='h';
* s2[1]='e';
* s2[2]='l';
* s2[3]='l';
* s2[4]='0';
* s2[5]='\0';
**/

说明:

s1内容不能修改,因为他指向常量 s2内容可以修改,因为他指代内存中的变量区 s2其地址和容量在生命期里不能改变

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!