【发布时间】:2020-10-25 07:02:59
【问题描述】:
char arr[120];
for (k = 0; k < 120; ++k) {
arr[k] = (char *)malloc(1);
}
for (k = 0; k < 120; ++k) {
free(arr[k]);
}
我有上面的代码。我想知道为什么在编译和运行代码时会出现分段错误错误。有什么改变的建议吗?
我只想指出,上面的代码是针对学校项目的。
【问题讨论】:
-
C 语言中不需要强制转换 malloc 的输出。见stackoverflow.com/questions/605845/…*%20type。
-
您的编译器抱怨您的代码。注意你的编译器。它比你更了解 C。