用C语言声明一个名为check动态int数组,数组的大小由输入的m决定
时间: 2024-10-14 14:16:16 浏览: 21
在C语言中,如果你想声明一个名为`check`的动态整数数组,其大小由用户输入的值`m`决定,你可以使用`malloc`函数来分配内存。这里是一个示例:
```c
#include <stdio.h>
#include <stdlib.h>
#define MAX_SIZE 100 // 设置一个最大尺寸,以防输入过大
int main() {
int m; // 定义变量存储用户输入的数组长度
printf("请输入数组的长度(m): ");
scanf("%d", &m); // 输入验证
// 检查输入是否合理,并防止溢出
if (m > MAX_SIZE) {
printf("输入的数组长度过大,已设置的最大值为 %d\n", MAX_SIZE);
m = MAX_SIZE;
}
// 动态分配数组
int* check = malloc(m * sizeof(int)); // 分配空间
if (check == NULL) { // 检查分配是否成功
perror("Memory allocation failed");
return 1;
}
printf("动态数组check已创建,长度为 %d:\n", m);
// ... 使用check数组 ...
// 别忘了在程序结束前释放内存
free(check);
return 0;
}
```
在这个例子中,`malloc()`会根据`m`的值动态地分配内存,如果分配失败,`free()`函数会在程序结束后自动调用,以释放内存。注意处理输入的有效性和边界检查。
阅读全文