数组怎么malloc
时间: 2024-03-18 13:35:36 浏览: 66
在C语言中,可以使用malloc函数动态分配内存。对于数组的动态分配,可以使用二级指针来实现。具体步骤如下:
1.定义一个二级指针,用于存储动态分配的数组地址。
2.使用malloc函数分配内存,需要指定分配的字节数,即数组大小乘以每个元素的字节数。
3.将分配的地址赋值给二级指针,即可使用动态分配的数组。
下面是一个示例代码,演示了如何使用malloc函数动态分配一个二维数组:
```c
#include <stdio.h>
#include <stdlib.h>
int main()
{
int **arr;
int i, j, rows, cols;
printf("Enter the number of rows and columns: ");
scanf("%d %d", &rows, &cols);
// 分配行指针
arr = (int **)malloc(rows * sizeof(int *));
if (arr == NULL)
{
printf("Memory allocation failed.\n");
return 1;
}
// 分配列空间
for (i = 0; i < rows; i++)
{
arr[i] = (int *)malloc(cols * sizeof(int));
if (arr[i] == NULL)
{
printf("Memory allocation failed.\n");
return 1;
}
}
// 初始化数组
for (i = 0; i < rows; i++)
{
for (j = 0; j < cols; j++)
{
arr[i][j] = i * 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;
}
```
阅读全文
相关推荐















