零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门
一.计算一维数组长度
对于 type array[A]
形式的数组,可以通过计算 sizeof
函数获取数组长度,举个例子:
int len = sizeof(array)/sizeof(array[0]);int len = sizeof(array)/sizeof(array[0]);int len = sizeof(array)/sizeof(array[0]);
二.计算二维数组长度
对于 type array[A][B]
形式的二维数组,可以通过计算 sizeof
函数获取二维数组的行数/列数;
1.二维数组行数
二维数组行数 = sizeof(array)/sizeof(array[0]);二维数组行数 = sizeof(array)/sizeof(array[0]);二维数组行数 = sizeof(array)/sizeof(array[0]);
2.二维数组列数
二维数组列数 = sizeof(array[0])/sizeof(array[0][0]);二维数组列数 = sizeof(array[0])/sizeof(array[0][0]);二维数组列数 = sizeof(array[0])/sizeof(array[0][0]);
3.二维数组的元素个数 = 二维数组行数 * 二维数组列数
![47.C语言 二维数组遍历-猿说编程 图片[1]-C语言 二维数组遍历-猿说编程](https://www.codersrc.com/wp-content/uploads/2021/06/e4da3b7fbbce234.png)
如上图的二维数组,我们可以通过前面介绍的原理来计算二维数组的行数和列数,并遍历二维数组,示例代码如下:
/******************************************************************************************///@Author:猿说编程//@Blog(个人博客地址): www.codersrc.com//@File:C语言教程 - 二维数组遍历//@Time:2021/06/12 08:00//@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!/******************************************************************************************/#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 = 12arr[0][0] = 1arr[0][1] = 3arr[0][2] = 5arr[0][3] = 7arr[1][0] = 9arr[1][1] = 11arr[1][2] = 13arr[1][3] = 15arr[2][0] = 17arr[2][1] = 19arr[2][2] = 21arr[2][3] = 23请按任意键继续. . .*//******************************************************************************************/ //@Author:猿说编程 //@Blog(个人博客地址): www.codersrc.com //@File:C语言教程 - 二维数组遍历 //@Time:2021/06/12 08:00 //@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累! /******************************************************************************************/ #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 请按任意键继续. . . *//******************************************************************************************/ //@Author:猿说编程 //@Blog(个人博客地址): www.codersrc.com //@File:C语言教程 - 二维数组遍历 //@Time:2021/06/12 08:00 //@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累! /******************************************************************************************/ #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 请按任意键继续. . . */
三.猜你喜欢
- 安装 Visual Studio
- 安装 Visual Studio 插件 Visual Assist
- Visual Studio 2008 卸载
- Visual Studio 2003/2015 卸载
- C语言格式控制符/占位符
- C语言逻辑运算符
- C语言三目运算符
- C语言逗号表达式
- C语言 sizeof 和 strlen 函数区别
- C语言 strcpy 和 strcpy_s 函数区别
- C语言 memcpy 和 memcpy_s 区别
- C语言 数组定义和使用
- C语言 数组遍历
- C语言 数组排序 – 冒泡法排序
- C语言 数组排序 – 选择法排序
- C语言 数组排序 – 插入法排序
- C语言 数组排序 – 快速法排序
- C语言 数组下标越界
- C语言 数组内存溢出
- C语言 数组下标越界和内存溢出区别
- C语言 数组长度计算
- C语言 指针声明和定义
- C语言 二维数组遍历
ChatGPT 3.5 国内中文镜像站免费使用啦
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容