c语言二维数组赋初值
时间: 2023-12-20 19:31:41 浏览: 135
在C语言中,可以使用以下方式为二维数组赋初值:
```c
int arr[2][3] = {{1, 2, 3}, {4, 5, 6}};
```
上述代码创建了一个2行3列的二维数组,并将其初始化为{{1, 2, 3}, {4, 5, 6}}。其中,第一个大括号中的元素表示第一行的值,第二个大括号中的元素表示第二行的值。
如果只为部分元素赋值,可以使用以下方式:
```c
int arr[2][3] = {{1, 2}, {4}};
```
上述代码创建了一个2行3列的二维数组,并将其初始化为{{1, 2, 0}, {4, 0, 0}}。其中,第一个大括号中的元素表示第一行的值,第二个大括号中的元素表示第二行的值。如果某个元素没有赋值,则默认为0。
相关问题
c 语言二维数组赋初值
C语言中的二维数组可以通过以下方式进行赋初值:
1.使用大括号{}进行初始化,每行用逗号隔开,最后一行不需要逗号。例如:int a = {{1,2,3},{4,5,6}};
2.可以只对部分元素进行初始化,未初始化的元素会被自动赋值为0。例如:int a = {1,2,3,4};
3.可以使用循环语句对二维数组进行初始化。例如:
int a;
for(int i=0;i<2;i++){
for(int j=0;j<3;j++){
a[i][j] = i+j;
}
}
这样就可以将a数组的元素赋值为:
1 2 3
2 3 4
结构体中的二维数组赋初值
在C语言中,结构体中的二维数组是指数组的元素是另一个结构体类型的数组。初始化这样的数组需要两层嵌套,首先给外层数组分配空间,然后对每个内部数组进行初始化。下面是一个简单的例子:
```c
#include <stdio.h>
// 定义一个结构体
typedef struct {
int row;
int col;
} Cell;
// 初始化二维结构体数组
int main() {
// 声明一个包含5行4列的Cell结构体二维数组
Cell grid[5][4] = {
{0, 0}, // 第一行第一列
{1, 1}, // 第一行第二列
{2, 2}, // 第一行第三列
{3, 3}, // 第一行第四列
{4, 4}, // 第二行第一列
{5, 5}, // 第二行第二列
{6, 6}, // ...
// ...填充剩余的行和列
};
// 打印部分元素以展示初始化过程
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 4; j++) {
printf("grid[%d][%d].row = %d, grid[%d][%d].col = %d\n", i, j, grid[i][j].row, i, j, grid[i][j].col);
}
}
return 0;
}
```
在这个例子中,`grid`是一个大小为5x4的Cell结构体数组,每个Cell的row和col都被初始化了相应的数值。
阅读全文