就如这篇公众号所说,栈区数据是由系统分配的,而我们的数组属于栈区数据,会在代码运行前就申请好空间,所以不应该会出现这种情况
电路小白,公众号:实在太懒于是不想取名C语言——动态内存分配
#include <stdio.h>
#include <stdlib.h>
int main() {
int m;
printf('请输入长度:');
scanf('%d', &m);
if (m <= 0) {
printf('长度必须是正整数\n');
return 1; // 以错误代码退出
}
int *a = (int *)malloc(m * sizeof(int));
if (a == NULL) {
printf('内存分配失败\n');
return 1; // 以错误代码退出
}
printf('长度为:%d\n', m);
// 使用完分配的内存后不要忘记释放它。
free(a);
return 0;
}
下期预告——const常量修饰符
联系客服