繁体   English   中英

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

[英]How do I insert a value for an element of an array that is pointed by a pointer in a struct

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

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

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

当我尝试做我做的事情时,我遇到了分割错误。 该命令无效吗?

struct aStruct
{
   char **anArray;
};

我用calloc制作了一个大小为10的数组。

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

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

该命令无效吗?

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

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

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

其中大小至少为一种,但通常需要访问的元素数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM