[英]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.