gpt4 book ai didi

c - 如何为结构中指针指向的数组元素插入值

转载 作者:行者123 更新时间:2023-11-30 18:04:27 26 4
gpt4 key购买 nike

我当前有一个包含指向指针数组的指针的结构。我试图为指针数组中的元素赋予一个值,但出现段错误。

aStruct->anArray[0]->string = test;

aStruct 包含一个 char** anArray 和 char *string。char *test =“测试”。

当我尝试执行我所做的操作时,出现段错误。该命令无效吗?

struct aStruct
{
char **anArray;
};

我使用 calloc 创建了一个大小为 10 的数组。

最佳答案

aStruct->anArray[0]->string = test;

aStruct contains a char** anArray and char *string. char *test = "test".

Is that command not valid?

当然不是。 aStruct->anArray[0] 将是 char* 并且不会有成员 ->string

除此之外,如果它确实可以编译并且您只发布了错误的代码,并且 anArray 已正确分配且具有正确的大小,则不会出现段错误。所以你的程序中需要这样的东西:

aStruct->anArray = malloc(size * sizeof(*aStruct->anArray));

其中 size 对于您的情况至少为 1,但通常是您需要访问的元素数量。

关于c - 如何为结构中指针指向的数组元素插入值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7625650/

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