首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何为结构中指针指向的数组元素插入值

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

Stack Overflow用户
提问于 2011-10-02 17:46:40
回答 1查看 57关注 0票数 0

我目前有一个结构,它包含一个指向指针数组的指针。我试图给指针数组中的一个元素赋值,但我得到了一个分段错误。

代码语言:javascript
运行
复制
aStruct->anArray[0]->string = test;

aStruct包含字符** anArray和字符*字符串。char *test = "test“。

当我尝试做我所做的事情时,我得到一个分段错误。该命令无效吗?

代码语言:javascript
运行
复制
struct aStruct
{
   char **anArray;
};

我使用calloc生成了一个大小为10的数组。

EN

回答 1

Stack Overflow用户

发布于 2011-10-02 17:52:53

aStruct->anArray->string =测试;

aStruct包含字符** anArray和字符*字符串。char *test = "test“。

该命令无效吗?

哪儿有的事儿。当然不是。aStruct->anArray[0]应该是char*,并且不会有成员->string

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

代码语言:javascript
运行
复制
aStruct->anArray = malloc(size * sizeof(*aStruct->anArray));

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7625650

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档