C语言如何定义二维数组并赋值
什么是二维数组
二维数组是指数组的每个元素都是一个数组,这样的数组称为二维数组,在C语言中,二维数组可以用两组数据类型来定义,即行下标的数据类型和列下标的数据类型,定义一个3行4列的整型二维数组,可以使用以下语句:
int arr[3][4];
如何定义二维数组
1、静态初始化
在编译时就为二维数组的所有元素赋初值,定义一个3行4列的整型二维数组,并为其所有元素赋初值,可以使用以下语句:
int arr[3][4] = { {1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12} };
2、动态初始化
在运行时为二维数组的所有元素赋初值,定义一个3行4列的整型二维数组,并为其所有元素赋初值,可以使用以下语句:
int arr[3][4]; for (int i = 0; i < 3; i++) { for (int j = 0; j < 4; j++) { arr[i][j] = i * j; } }
如何访问二维数组的元素
1、通过行下标和列下标访问元素
要访问二维数组的某个元素,需要先通过行下标找到该行,然后再通过列下标找到该列,要访问上面定义的二维数组arr中第2行第3列的元素(值为6),可以使用以下语句:
int value = arr[1][2]; // 注意:数组下标从0开始,所以第2行的下标是1,第3列的下标是2
2、使用指针访问二维数组的元素
可以使用指针变量指向二维数组的某个元素,首先定义一个指向整型的指针变量,然后通过指针变量访问二维数组的元素,要访问上面定义的二维数组arr中第2行第3列的元素(值为6),可以使用以下语句:
int (*p)[4] = &arr[1]; // p指向第2行(即第1个元素) int value = (*p)[2]; // 通过指针变量访问第3列(即第3个元素)的值
相关问题与解答
1、如何遍历二维数组?
要遍历二维数组的所有元素,可以使用两层嵌套循环,外层循环控制行,内层循环控制列,遍历上面定义的二维数组arr中的所有元素及其地址和值,可以使用以下代码:
include <stdio.h> int main() { int arr[3][4] = { {1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12} }; for (int i = 0; i < 3; i++) { for (int j = 0; j < 4; j++) { printf("arr[%d][%d] = %d\t", i, j, arr[i][j]); // %d表示输出整型数值的占位符 } printf(" "); // 每行结束换行 } return 0; }
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/318476.html