0

を使用して構造体の動的配列を作成しようとしています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つの確かな答えを提供することにより、他の人(および私)を助けるでしょう=)。これについての助けを前もって感謝します。

4

1 に答える 1