47.C语言 二维数组遍历

最后更新于:2020-08-28 08:20:50

一.计算一维数组长度

对于type array[A]形式的数组,可以通过计算sizeof函数获取数组长度,举个例子:

int len = sizeof(array)/sizeof(array[0]);

二.计算二维数组长度

对于type array[A][B]形式的二维数组,可以通过计算sizeof函数获取二维数组的行数/列数;

1.二维数组行数

二维数组行数 = sizeof(array)/sizeof(array[0]);

2.二维数组列数

二维数组列数 = sizeof(array[0])/sizeof(array[0][0]);

3.二维数组的元素个数 = 二维数组行数 * 二维数组列数


如上图的二维数组,我们可以通过前面介绍的原理来计算二维数组的行数和列数,并遍历二维数组,示例代码如下:

/************************************************************************/
/*@文件名      : C/C++遍历二维数组.cpp
/*@日  期      : 2020/08/28 21:52
/*@作  者      : 猿说编程
/*@公众号      : 猿说编程
/*@博客        : www.shuopython.com
/*@描述        : C语言教程 - 遍历二维数组
/************************************************************************/

#include<stdlib.h>
#include<stdio.h>


void main()
{
    int rows = 0;    //行数
    int columns = 0; //列数
    int arr[3][4] = {
            {1,3,5,7},
            {9,11,13,15},
            {17,19,21,23}
        };

    rows = sizeof(arr) / sizeof(arr[0]);
    columns = sizeof(arr[0]) / sizeof(arr[0][0]);

    printf("数组行数:%d  列数:%d  总元素个数:%d * %d = %d \n",rows,columns,rows,columns, rows*columns);

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

        printf("\n");
    }


    system("pause");
}
/*
输出:
数组行数:3  列数:4  总元素个数:3 * 4 = 12

arr[0][0] = 1
arr[0][1] = 3
arr[0][2] = 5
arr[0][3] = 7

arr[1][0] = 9
arr[1][1] = 11
arr[1][2] = 13
arr[1][3] = 15

arr[2][0] = 17
arr[2][1] = 19
arr[2][2] = 21
arr[2][3] = 23

请按任意键继续. . .

*/


猜你喜欢

1. 三目运算符

2. 逗号表达式

3. NaN(Not a Number)

4. memcpy/strcpy/strcpy_s 区别

5. unicode 和多字节区别

6. 数组定义和使用

7. sizeof和strlen函数区别

8. Debug和_DEBUG区别

9. _WIN32/WIN32/_WIN64/WIN64区别

10. 判断exe可执行程序是32位的还是64位

11. 数组下标越界

12. 数组内存溢出

13. 数组下标越界和内存溢出区别

14. 二维数组行数和列数计算



转载请注明: 猿说编程 » C/C++教程 » 二维数组遍历

赞赏

微信赞赏支付宝赞赏