一、1.用一级指针遍历二维数组
7 #include <stdio.h>
8
9 int main(int argc, char *argv[])
10 {
11 int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
12 int *p;
13 p=*a;
14 int i;
15 for(i=0;i<12;i++){
16 if(i!=0 && i%4==0)
17 puts("");
18 printf("%d ",*p);
19 p++;
20 }
21 puts("");
22
23 return 0;
24 }
2.运行结果
1 2 3 4
5 6 7 8
9 10 11 12
只需要注意一下if判断语句的条件即可。
二、1.用指针数组遍历二维数组
技巧:可以把3行4列的二维数组看成是3个一维数组,只不过是每个一维数组里面有4个元素
7 #include <stdio.h>
8
9 int main(int argc, char *argv[])
10 {
11 int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
12 int *p[4]={a[0],a[1],a[2]};//(*p)[4]的[4]可以认为代表4列
13 int i,j;
14 for(i=0;i<3;i++)
15 {
16 for(j=0;j<4;j++)
17 {
18 printf("%d ",p[i][j]);
19 }
20 puts("");
21 }
22
23 return 0;
24 }
2、运行结果
1 2 3 4
5 6 7 8
9 10 11 12
三、1.用数组指针遍历二维数组
只需要修改指针数组中的定义以及指向就行
7 #include <stdio.h>
8
9 int main(int argc, char *argv[])
10 {
11 int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
12 int (*p)[4]=a;//(*p)[4]的[4]可以认为代表4列
13 int i,j;
14 for(i=0;i<3;i++)
15 {
16 for(j=0;j<4;j++)
17 {
18 printf("%d ",p[i][j]);
19 }
20 puts("");
21 }
22
23 return 0;
24 }
2.运行结果
1 2 3 4
5 6 7 8
9 10 11 12
四、1.数组本身的遍历
7 #include <stdio.h>
8
9 int main(int argc, char *argv[])
10 {
11 int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
12 int i,j;
13 for(i=0;i<3;i++)
14 {
15 for(j=0;j<4;j++)
16 {
17 printf("%d ",a[i][j]);
18 }
19 puts("");
20 }
21
22 return 0;
23 }
~
2.运行结果
1 2 3 4
5 6 7 8
9 10 11 12
标签:11,10,遍历,int,C语言,12,数组,指针
From: https://blog.csdn.net/qq_63297756/article/details/142914283