char *c = "abc" 与char c[]="abc" 区别差异
内存是怎么分配的 指针是如何存储的呢
小弟快抓成秃头了~~~
[解决办法]
char* c= "abc "中,c是一个指针,指向一个常量字符串 "abc "。
char c[]= "abc "中,c是一个数组,相当于char c[4]={ 'a ', 'b ', 'c ', '\0 '}。
[解决办法]
1) char *c = "abc ";
"abc " 占用的内存分配在 常量区(也就是说不能修改)
c 指向这个常量区的空间
2) char c[] = "abc ";
"abc " 占用的内存分配在 常量区(也就是说不能修改)(同1)
然后把这个常量区的 "abc " 复制一份到 c 指向的 栈上