c语言 - 将错误定位的字符串索引初始化为 NULL



例如,假设我刚刚使用malloc创建了一个char**字符串。

如何将每个索引字符串[I]设置为NULL?它最初是否设置为NULL?因为当我用另一个函数检查一个等于NULL的索引时,比如if(strings[i]==NULL);它似乎从来都不起作用。有什么帮助吗?对不起,我是动态记忆的新手。。

NULL通常被定义为一个扩展到(void*)0 的宏

您可以使用calloc来分配并初始化为零。请确保使用正确数量的括号。

char* buffer = calloc(4, sizeof(char));
if(*buffer == 0) {
    printf("%sn", "*buffer == 0");
}

malloc()仅分配内存。您应该使用分配内存并将分配的内存归零的calloc()

作为一个指针数组,每个元素现在将等于NULL

char **strings = calloc(1024, sizeof *string);
if(strings[1] == NULL)
    printf("%s", "yes. NULL");

相关内容

  • 没有找到相关文章

最新更新