|
发表于 2020-11-2 21:01:58
|
显示全部楼层
给你一个数组,你看懂了,你的问题就解决了,我就不改我程序里的变量名称了
- #include<stdio.h>
- int main()
- {
- int i,j;
- int *p,*q,*r,(*t)[4];
- int a[3][4] = {{1, 3, 5, 7}, {9, 11, 13, 15}, {17, 19, 21, 23}};
- p = &a[0][0];
- q = a[0];
- r = *a;
- t = a;
- // p = &a[0][0] 的输出模式
- for (i = 0; i < 3; ++i)
- {
- for (j = 0; j < 4; ++j)
- {
- printf("%2d ", *p++); // 与 *(p + i * 4 + j) 等价
- }
- printf("\n");
- }
- printf("\n");
-
- // q = a[0] 的输出模式
- for(i = 0;i < 3;i++)
- {
- for(j = 0;j < 4;j++)
- {
- printf("%2d ",*q++); // 与 *(q + i * 4 + j) 等价
- }
- printf("\n");
- }
- printf("\n");
- // r = *a 的输出模式
- for(i = 0;i < 3;i++)
- {
- for(j = 0;j < 4;j++)
- {
- printf("%2d ",*r++); // 与 *(r + i * 4 + j) 等价
- }
- printf("\n");
- }
- printf("\n");
- // t = a 的输出模式
- for (i = 0; i < 3;i++)
- {
- for (j = 0; j < 4;j++)
- {
- printf("%2d ", *(*(t + i) + j));
- }
- printf("\n");
- }
- printf("\n");
- }
复制代码 |
|