C语言二维数组的遍历方式

遍历二维数组可以使用嵌套的循环来完成。下面是三种常见的遍历二维数组的方法:

方法一:使用双重循环

int arr[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};

for (int i = 0; i < 3; i++) {
    for (int j = 0; j < 3; j++) {
        printf("%d ", arr[i][j]);
    }
    printf("\n");
}

方法二:使用指针遍历

int arr[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};

int *ptr = &arr[0][0];
for (int i = 0; i < 9; i++) {
    printf("%d ", *(ptr + i));
    if ((i + 1) % 3 == 0) {
        printf("\n");
    }
}

方法三:使用指针数组遍历

int arr[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};

int *ptr[3] = {arr[0], arr[1], arr[2]};
for (int i = 0; i < 3; i++) {
    for (int j = 0; j < 3; j++) {
        printf("%d ", ptr[i][j]);
    }
    printf("\n");
}

这些方法都可以用来遍历二维数组,并打印或处理数组中的元素。

在C语言中,我们可以使用两个for循环来遍历一个二维数组。其中一个for循环用于遍历二维数组的行,另一个for循环用于遍历二维数组的列。具体代码如下所示: ```c #include <stdio.h> #define ROW 3 #define COL 4 int main(void) { int arr[ROW][COL] = {{1,2,3,4}, {5,6,7,8}, {9,10,11,12}}; int i, j; for (i = 0; i < ROW; i++) { for (j = 0; j < COL; j++) { printf("%d ", arr[i][j]); } printf("\n"); } return 0; } ``` 上述代码中,我们使用了两个for循环来遍历二维数组arr。其中外层for循环用于遍历二维数组的行,内层for循环用于遍历二维数组的列。我们使用printf语句来打印每一个二维数组元素的值,并在内层for循环结束后使用printf("\n")语句来换行。这样可以保证每一行的元素都在同一行输出。 另外,在C语言中,二维数组也可以被转换为一维数组进行遍历。可以使用一个for循环来遍历整个一维数组,并通过计算索引的方法来访问二维数组中的每一个元素。具体代码如下所示: ```c #include <stdio.h> #define ROW 3 #define COL 4 int main(void) { int arr[ROW][COL] = {{1,2,3,4}, {5,6,7,8}, {9,10,11,12}}; int i, j; for (i = 0; i < ROW * COL; i++) { printf("%d ", *(*arr + i)); } return 0; } ``` 上述代码中,我们使用了一个for循环来遍历一维数组。我们使用两个指针来访问二维数组中的每一个元素。其中一个指针指向二维数组的首地址,另一个指针通过计算索引的方法来访问二维数组中的每一个元素。在输出每一个元素的值时,我们使用了两个解引用运算符(*),以便访问指针指向的元素的值。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一土木彡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值