私は、ユーザーのUse of 'extern' keyword while defining the variableextern int aの差異; extern int a = 42;
一つの答えを読んでいたが、私は両方の定義が、宣言ではありません期待していたこれらの方法に
extern int a; // not a definition
extern int a = 42; // definition
に答え。私は両方のステートメントが変数が関数の外で定義されていると言っていると思っていました。そして、externキーワードを使用する必要があります。これは彼の間違いですか、それとも本当に定義ですか? 私は
extern int a; // variable is already defined but its outside the function
extern int a=42 ; //I guess a variable is assigned a value but not a definition
が、これらの文は
extern int a = 42; // user said its a definition and now i got confused
これらで私をクリアしてくださいことを知っています。
宣言で外部定義されたmain()関数内で宣言された値を割り当てリンクされた質問で議論されているすべては、関数スコープではなくファイルスコープ宣言であるとみなされます。 –