を使用して構造体の動的配列を作成しようとしています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」のエンティティに割り当てることはできません
私がこれを学んだ場所は、何がどこに行き、どのような順序で行くべきかが明確ではありませんでした. 物を動かしてポインターで遊んでみましたが、役に立ちませんでした。うまくいけば、この質問は、混乱のない1つの確かな答えを提供することにより、他の人(および私)を助けるでしょう=)。これについての助けを前もって感謝します。