#include <stdio.h>
int main()
{
int a[3][4] = {0,1,2,3,4,5,6,7,8,9,10,11};
//-----
printf ("%d\n",a); //代表二维数组首元素地址;
printf("%d\n",*a); //代表行向量一维数组a[0]中第0列元素的地址;
printf("%d\n",a[0]); //代表行向量一维数组a[0]中第0列元素的地址;
printf("%d\n",&a[0]); //第0行首地址;
printf("%d\n",&a[0][0]); //二维数组a的第0行第0列元素地址;
printf("%d\n",a+1); //第一行首地址;
printf("%d\n",*(a+1)); //第一行第0列元素a[1][0]的地址;
printf("%d\n",a[1]); //第一行第0列元素a[1][0]的地址;
printf("%d\n",&a[1]); //第一行首地址;
printf("%d\n",&a[1][0]); //二维数组a的第1行第0列元素地址
printf("%d\n",a+2); //第二行首地址;
printf("%d\n",*(a+2)); //第2行第0列元素a[2][0]的地址;
printf("%d\n",a[2]); //第2行第0列元素a[1][0]的地址;
printf("%d\n",&a[2]); //第二行首地址;
printf("%d\n",&a[2][0]); //二维数组a的第2行第0列元素地址;
printf("%d\n",a[1]+1); //第一行第一列a[1][1]的地址;
printf("%d\n",*(a+1)+1); //第一行第一列a[1][1]的地址;
printf("%d %d\n",*(a[1]+1),*(*(a+1)+1)); //第一行第一列a[1][1]的值;
return 0;
}
结果:
2293472
2293472
2293472
2293472
2293472
2293488
2293488
2293488
2293488
2293488
2293504
2293504
2293504
2293504
2293504
2293492
2293492
5 5