我正在尝试使用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
从我读过的内容来看,上面应该非常接近正确,但我的编译器强调了=
inLINE = malloc((facets*3)*sizeof(linesegs));
并给出了以下错误:
“void*”类型的值不能分配给“linesegs”类型的实体
我从中了解到这一点的地方并不完全清楚它们应该去哪里,以及它们应该以什么顺序去。我尝试移动东西并使用指针无济于事。希望这个问题将通过提供一个没有混淆的可靠答案来帮助其他人(和我)=)。在此先感谢您的帮助。