数组与指针的区别

2017-01-10  本文已影响0人  无边小猪
char *p="abcdef";
printf("%c",p[1]);
char q[7]="abcdef";
printf("%c",q[1]);

以上两句虽然打印结构相同,但内部逻辑完全不同。究其原因如下:
上面指针p可以解释为:符号表中p是一个地址,在这个地址中存储了一个数组的首地址。
上面的数组q可以解释为:符号表中q是一个地址,这个地址就是数组的首地址。

上一篇下一篇

猜你喜欢

热点阅读