如何用c语言创建一个二维数组
时间: 2023-06-03 09:03:41 浏览: 189
可以使用以下语句创建一个具有3行4列的二维数组:
```c
int arr[3][4];
```
可以将数组元素初始化为0:
```c
int arr[3][4] = {0};
```
也可以逐个指定数组元素的值:
```c
int arr[3][4] = {
{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}
};
```
相关问题
用c语言创建一个动态的二维数组
可以使用指针和动态内存分配来创建一个动态的二维数组,示例代码如下:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
int **arr; // 声明一个二级指针
int rows, cols, i, j;
printf("请输入二维数组的行数和列数:");
scanf("%d %d", &rows, &cols);
// 分配行指针数组的内存空间
arr = (int **) malloc(rows * sizeof(int *));
// 分配每一行的内存空间
for (i = 0; i < rows; i++) {
arr[i] = (int *) malloc(cols * sizeof(int));
}
// 对数组进行初始化
for (i = 0; i < rows; i++) {
for (j = 0; j < cols; j++) {
arr[i][j] = i * cols + j;
}
}
// 输出二维数组
for (i = 0; i < rows; i++) {
for (j = 0; j < cols; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
// 释放内存空间
for (i = 0; i < rows; i++) {
free(arr[i]);
}
free(arr);
return 0;
}
```
这段代码首先通过 `malloc` 分配了一个行指针数组的内存空间,然后再通过循环分别为每一行分配内存空间。最后对数组进行初始化并输出结果,最后再通过 `free` 释放内存空间。
c语言中动态分配二维数组
在C语言中,可以使用动态内存分配来创建二维数组。下面是一个示例代码来演示如何动态分配二维数组:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
int row_x = 3; // 行数
int row_y = 4; // 列数
// 分配内存
int **p = (int **)malloc(row_x * sizeof(int *));
for (int i = 0; i < row_x; i++) {
p[i] = (int *)malloc(row_y * sizeof(int));
}
// 使用二维数组
for (int i = 0; i < row_x; i++) {
for (int j = 0; j < row_y; j++) {
p[i][j] = i + j;
}
}
// 打印二维数组
for (int i = 0; i < row_x; i++) {
for (int j = 0; j < row_y; j++) {
printf("%d ", p[i][j]);
}
printf("\n");
}
// 释放内存
for (int i = 0; i < row_x; i++) {
free(p[i]);
}
free(p);
return 0;
}
```
这段代码首先使用`malloc`函数分配了一个指针数组`p`,然后使用循环为每个指针分配了一维数组的内存空间。接下来,使用嵌套循环对二维数组进行赋值操作。最后,使用嵌套循环打印出二维数组的值。最后,使用循环释放了分配的内存空间。