私は2つの構造を持っています:
struct b{int b;float d;}; and
struct a{int count; struct b* ptr;}
struct a *a_temp;
ここで、タイプ b の 10 個の構造体にメモリを割り当て、アドレスを構造体 a の ptr に入れます。(コードは私に与えられましたが、何らかの理由でダブルポインターを使用したくありませんでした)
a_temp = (struct a*)malloc(sizeof(struct a));
a_temp->ptr = (struct b*)malloc(10*sizeof(struct b));
struct b* b_temp;
タイプ b の 2 番目の構造体のアドレスを temp_b にロードする必要があります。b_temp = a_temp->ptr[1];
エラーが発生しているのを試しb_temp = &(a_temp->ptr[1]);
ましたが、これを使用してこれを使用して構造 b の内容にアクセスしようとすると機能しますが、これはなぜですか?
前もって感謝します