gpt4 book ai didi

c - 如何为 char** str 设置空值

转载 作者:太空宇宙 更新时间:2023-11-04 08:17:58 30 4
gpt4 key购买 nike

我如何为 char** str 设置一个空值,因为我有错误“解除对越界指针的引用:1 个字节(1 个元素)超过数组 im 使用 C 语言的结尾”

while(part)
{
res = (char**)realloc(res, (i + 1) * sizeof(char*));
*(res + i) = mystrdup(part);

part = mystrdup(strtok(NULL, delim));
i++;
}
res = (char**)realloc(res, i * sizeof(char*));
*(res + i) = NULL; // This is where I Encounter the ERROR

最佳答案

这部分代码

res = (char**)realloc(res, i * sizeof(char*));
*(res + i) = NULL;

通过尝试访问 *(res + i),您将前往 off-by-one .你应该写

*(res + i -1) = NULL;

话虽如此,

关于c - 如何为 char** str 设置空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34764384/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com