关于二维数组内存的基本有关问题求 求

关于二维数组内存的基本问题求 求
关于二维数组 内存基本问题

#include<stdio.h>
void main()
{
int i,*p;
int p=5;
int a[3][4]={
1,2,3,4,
5,6,7,8,
9,10,11,12};
for (i=0;i<=2;i++)
{
printf("%#X\n",a); 
在VC6.0 里
printf("%#X\n",a+i);求这里为什么 a每次加1 它的地址是以10为单位跑 
  比喻 0X12FF54 
加1后变成 0X12FF64 10 这里不懂啊 它内部是怎么计算的求
   
printf("%d\n",a[i][0]);

printf("%d\n",a[i][0]);

printf("\n");
}
printf("%#X\n",p--);
}




------解决方案--------------------
16啊, 这十六进制
4个int型元素, 4 * sizeof(int) = 16