gpt4 book ai didi

c - C 中结构体的动态数组

转载 作者:行者123 更新时间:2023-11-30 17:46:07 25 4
gpt4 key购买 nike

我正在尝试使用malloc()创建动态结构数组。我已经在这个论坛上看过一些其他答案,但我迷失在从一​​个问题到下一个问题的答案都不相同的过程中。这是我到目前为止所做的:

//This is above main()

struct linesegs
{
float*X;
float*Y;
float*Z;
float*Q;
float*R;
float*S;
};

struct linesegs *LINE;

//Inside main() I have this:

LINE = malloc((facets*3)*sizeof(linesegs));

//Later on I access the struct like so:

LINE[variable].X = SomeFloatNumber
LINE[variable].Y = SomeFloatNumber
LINE[variable].Z = SomeFloatNumber
LINE[variable].Q = SomeFloatNumber
LINE[variable].R = SomeFloatNumber
LINE[variable].S = SomeFloatNumber

从我读到的内容来看,上面的内容应该非常接近正确,但我的编译器在 LINE = malloc((facets*3)*sizeof(linesegs)); 中强调了 =; 并给出以下错误:

“void*”类型的值不能分配给“linesegs”类型的实体

我从中了解到这一点的地方并不完全清楚什么该去哪里,以及它们应该以什么顺序去。我尝试移动东西并使用指针,但没有成功。希望这个问题能够帮助其他人(和我)提供一个毫无疑问的可靠答案=)。预先感谢您对此的帮助。

最佳答案

这可以解决错误或警告吗?

LINE = (struct linesegs *)malloc((facets*3)*sizeof(struct linesegs));

关于c - C 中结构体的动态数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19439522/

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