im学習cプログラミング。 のグローバル構造体配列を定義したいと思います。配列の各メンバーが複素数の構造体であるという配列へのポインタがあります。 私の目標は、この配列にポインタ(* vars)でアクセスし、メインのすべての関数でそのメンバーを変更/読み込めるようにすることです。ポインタのグローバル構造体配列の定義
この問題のトラブルに直面していますが、それぞれの事柄をどのように定義するのかはわかりません。イムは、[I]をVARSをアクセスもしようとしているエラーを取得
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
typedef struct complext
{
double real;
double img;
} complex;
complex* vars;
int main()
{
int i;
vars = malloc(6 * sizeof(vars));
for (i = 0; i < 6;)
vars[i]->real = 0;
}
イム: 私はこの次のコードを試してみました。あなただけvars[i].real
の代わりvars[i]->real
を使用する必要がありますので、 メンバーの「リクエスト 『本当の』イム何かない構造体または共用体。 ありがとう!
'malloc'の戻り値をタイプキャストする必要があります。同様に: 'vars =(var *)malloc(6 * sizeof(* vars));'。また、最後の行を 'vars [i] .real = 0;'に変更する必要があります。 –
いいえ、必要がないときはキャストしないでください。 申し訳ありませんが、私のコメントはShiva'sに答えていました。 – ncarrier
それを試しましたが、同じエラーがまだ発生しています。 – Yakalolo