int arr[2][3]={1,2,3,4,5,6};
//数组名表示数组首地址
printf("1.arr=%p\n",arr); //20
//数组名+1表示数组第二个元素的首地址==数组第一个元素的地址+1==数组名第二个元素
//2c
printf("2.&arr[1][0]=%p\n",&arr[1][0]);
printf("3.arr+1=%p\n",arr+1);
printf("4.&arr[0]+1=%p\n",&arr[0]+1);
printf("5.arr[1]=%p\n",arr[1]);
//数组第一个元素的地址==数组首地址
//20
printf("6.arr[0]=%p\n",arr[0]);
printf("7.&arr[0]=%p\n",&arr[0]);
//&数组名+1表示数组往外再+1的地址,越界了
//38
printf("8.&arr+1=%p\n",&arr+1);
printf("9.&arr[1]+1=%p\n",&arr[1]+1);
printf("10.&arr[1][2]+1=%p\n",&arr[1][2]+1);
//30
printf("11.arr[1]+1=%p\n",arr[1]+1);
printf("12.&arr[1][0]+1=%p\n",&arr[1][0]+1);
//24
printf("13.arr[0]+1=%p\n",arr[0]+1); |
|