c语言:其中n为变量如何用malloc分配 int a[n][n];
时间: 2023-02-06 17:14:40 浏览: 91
在 C 语言中,可以使用 malloc 函数动态分配内存。如果要为一个二维数组分配内存,可以这样做:
```
#include <stdio.h>
#include <stdlib.h>
int main(void) {
int n;
printf("输入 n 的值:");
scanf("%d", &n);
// 动态分配内存
int (*a)[n] = malloc(n * sizeof(int[n]));
// 使用 a 数组
// ...
// 释放内存
free(a);
return 0;
}
```
在这段代码中,我们首先输入了 n 的值,然后使用 malloc 函数动态分配了 n * n 个 int 类型的内存,最后使用 free 函数释放了内存。
注意,在使用动态分配的内存之前,一定要确保内存分配成功。否则,malloc 函数会返回 NULL 指针,在这种情况下使用内存会导致程序崩溃。因此,在使用动态分配的内存之前,应该先检查 malloc 函数的返回值是否为 NULL。
```
#include <stdio.h>
#include <stdlib.h>
int main(void) {
int n;
printf("输入 n 的值:");
scanf("%d", &n);
// 动态分配内存
int (*a)[n] = malloc(n * sizeof(int[n]));
if (a == NULL) {
// 内存分配失败,输出错误信息并退出程序
printf("内存分配失败!\n");
return 1;
}
// 使用 a 数组
// ...
// 释放
阅读全文