5
Cコンパイラ(私はGCCを使用しています)は、次の処理をどのように知っていますか?C構造体がどのように参照することは可能ですか?
struct node
{
int x;
struct node* next;
};
より正確には、node
場合はまだ完全に(私たちは閉じ中括弧に達していない)、まだ定義されている、そしてどのようにコンパイラがどのように大きな構造体は、あるべき知っているのですか?
「ポインティングする」にはアドレスしか必要ではないことが分かりますが、ポインターをインクリメントするにはポインターのデータサイズが必要です。
ポインタの増分は、タイプが完全に決定された後にのみ処理されます。それ以外の場合は、 '不完全な型'というエラーが表示されます。 –