请教一个内存分配问题。
示例如下:#bash-3.2# cat te.c
#include "stdio.h"
int main()
{
int k=20,i=10;
char m[]="camel";
char *p="hello world!";
printf("%p,%p,%p,%p,%p,%p\n",&k,&i,m,&p,p,p+1);
return 0;
}
bash-3.2# ./program
0xbfb69c30,0xbfb69c2c,0xbfb69c26,0xbfb69c20,0x8048500,0x8048501
在运行输出中,0xbfb69c2c与0xbfb69c26相差6个字节,0xbfb69c26与0xbfb69c20相差也是6个字节,为什么会存在两个???第一项应该相差4字节才对阿???
不解。。。。
清高手赐教阿。