通过这段代码,可以看出,对于二维数组,要想获取其首地址(例子中的a,不是a[0])必须用指向数组的指针变量,如果p=a,则会报错。
而a[0],代表的是第0行0列的地址(a代表0行的地址),这就可以区分,在地址加1时,a会加16,而a[0]只会加4。
注:
int型占4个字节在计算机内存中,一个字节8位。
printf("%d,%d,%d",sizeof(int),sizeof(short),sizeof(long));
通过这段代码,可以看出,对于二维数组,要想获取其首地址(例子中的a,不是a[0])必须用指向数组的指针变量,如果p=a,则会报错。
而a[0],代表的是第0行0列的地址(a代表0行的地址),这就可以区分,在地址加1时,a会加16,而a[0]只会加4。
注:
int型占4个字节在计算机内存中,一个字节8位。
printf("%d,%d,%d",sizeof(int),sizeof(short),sizeof(long));