[求助]谁能解释一下...谢谢
请指教main()
{int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23};
int *p;
for(p=a[0];p<a[0]+12;p++)
printf("addr=%o,value=%2d\n",p,*p);
getch();
}
我这个程序的目的是查看二维数组的地址分配...我用了printf把地址用八进制给输出...我有个疑惑,请看下下面的输出结果....第i行的前两个地址,也就是a[i][0]的地址与a[i][1]的地址为什么相差4个字节?而其它的相差2个?整型不是都分配两个字节吗.?
为什么会这样?
运行结果:
addr=177656,value= 1
addr=177660,value= 3
addr=177662,value= 5
addr=177664,value= 7
addr=177666,value= 9
addr=177670,value=11
addr=177672,value=13
addr=177674,value=15
addr=177676,value=17
addr=177700,value=19
addr=177702,value=21
addr=177704,value=23
[此贴子已经被作者于2006-11-10 11:19:02编辑过]