|
发表于 2020-10-27 15:02:02
|
显示全部楼层
一个小程序,帮助你理解:
- #include<stdio.h>
- int main()
- {
- int i,j;
- int (*q)[4];
- int a[3][4] = {{1, 3, 5, 7}, {9, 11, 13, 15}, {17, 19, 21, 23}};
- q = a;
- for (i = 0; i < 3;i++) // i 控制的是行
- {
- for (j = 0; j < 4;j++) // j 控制的是列
- {
- printf("%2d ", *(*(q + i) + j)); // 输出 i 行 j 列的元素值
- }
- printf("\n");
- }
- printf("\n");
- printf("第 0 行的首地址: %p\n",*(q + 0) + 0); // 输出第 0 行的首地址
- printf("第 1 行的首地址: %p\n",*(q + 1) + 0); // 输出第 1 行的首地址
- printf("第 2 行的首地址: %p\n",*(q + 2) + 0); // 输出第 2 行的首地址
- printf("\n");
- }
复制代码 |
|