c-关于使用malloc和free指针的建议


    char arr[120];
    for (k = 0; k < 120; ++k) {
        arr[k] = (char *)malloc(1);
    }
    for (k = 0; k < 120; ++k) {
        free(arr[k]);
    }

我有上面的代码。我想知道为什么在编译和运行代码时会出现Segmentation Fault错误。有什么改变的建议吗?

我只想指出,上面的代码是为一个学校项目。

char*对象存储到只能存储char对象的数组中。这是未定义的行为。您需要:

char* arr[120];

最新更新