读书人

字符指针与字符数组在内存上存储区别,

发布时间: 2012-05-15 14:35:29 作者: rapoo

字符指针与字符数组在内存上存储区别
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],......); 你就知道

读书人网 >C语言

热点推荐