C语言中还有哪些方式可以初始化二维数组?
时间: 2024-11-20 15:56:07 浏览: 28
在C语言中,有几种常见的方式来初始化二维数组:
1. **静态初始化**:在声明数组时直接提供所有元素的初始值,例如:
```c
int arr[3][4] = {
{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}
};
```
2. **循环初始化**:利用嵌套的for循环逐行或逐列给数组赋值,如:
```c
int arr[3][4];
for(int i = 0; i < 3; i++) {
for(int j = 0; j < 4; j++) {
arr[i][j] = i * 4 + j;
}
}
```
3. **函数返回**:如果数组大小可以根据其他计算得出,你可以通过一个函数返回初始化好的数组,比如:
```c
int (*initArray())[4] = malloc(3 * sizeof(*initArray));
for(int i = 0; i < 3; i++) {
initArray()[i] = [i*4, i*4+1, i*4+2, i*4+3];
}
```
阅读全文