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

字符指针与字符数组在内存上存储区别,该怎么解决

2012-05-15 
字符指针与字符数组在内存上存储区别A),char *p “abcdef”B),char a[] “123456”我的理解:A)定义了一

字符指针与字符数组在内存上存储区别
A),char *p = “abcdef”;
B),char a[] = “123456”;


我的理解:

A)定义了一个指针变量p,p 本身在栈上占4 个byte ,p 里存储的是一块内存的首
地址。这块内存在静态区,其空间大小为 7 个byte 

B)定义了一个数组a ,a 拥有7 个char 类型的元素,其空间大小为 7 。
那么指针a在内存什么地方,“123456”又存放在内存什么地方,也是放在内存静态区吗
能这样使用吗:strcpy(a,p);


请各位高手指点

[解决办法]
printf(“%x %x %x %x %x %x %x\n",*p,&a[0],&a[1],......); 你就知道

热点排行