二维数组中的元素地址问题
在二维数组中,有如下定义:
int *p,a[3][4];
我翻了三四本书,所有书都说若有表达式a[0]+1,表达式中的1的单位应当是2个字节,但在指针的章节中可以看到,这样的加减是以int为准的,于是我运行以下程序以后,发现的确实是4个字节,请教一下,这是书本错误么,还是我的程序有问题,运行环境32位windows系统,vc6.0;以下结果在附件图片中:望各位前辈能解惑,谢谢
程序代码:
#include<stdio.h>
main()
{
int *p,*q,a[3][4];
p=a+0;
q=a[0]+1;
printf("%4d %4d\n",p,q);
}