首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

char *c = "abc" 与char c[]="abc" 区别差异,该怎么处理

2012-03-02 
char *c abc 与char c[]abc 区别差异内存是怎么分配的指针是如何存储的呢小弟快抓成秃头了~~~[解决

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 指向的 栈上




热点排行
Bad Request.