用C语言声明一个动态数组,数组的大小由输入的m决定
时间: 2024-10-14 16:06:41 浏览: 30
在C语言中,如果你想创建一个动态数组,其大小由用户输入的值`m`决定,你可以使用`malloc()`函数动态分配内存。这里是一个示例:
```c
#include <stdio.h>
#include <stdlib.h> // 包含malloc和free函数
int main() {
int m; // 定义一个整数变量来存储数组长度
printf("请输入数组的大小(m): ");
scanf("%d", &m); // 获取用户输入
// 检查输入是否合法,避免空指针异常
if (m <= 0) {
printf("数组大小必须大于零。\n");
return 1;
}
// 动态分配m个整数的内存空间
int* dynamicArray = (int*) malloc(m * sizeof(int));
// 检查内存分配是否成功
if (dynamicArray == NULL) {
printf("内存分配失败。\n");
return 1;
} else {
printf("动态数组已创建,可以开始使用。\n");
// 现在dynamicArray指向了一块能存放m个整数的空间
// ... (在这里处理数组元素)
// 使用完后记得释放内存
free(dynamicArray);
printf("内存已释放。\n");
}
return 0;
}
```
在这个例子中,我们首先获取用户输入,然后使用`malloc()`为指定长度分配内存。如果分配成功,我们会得到一个指向新数组的指针`dynamicArray`,然后就可以进行后续操作。注意,在程序结束前,需要使用`free()`函数释放所占内存,以防止内存泄漏。
阅读全文