a)外部変数の定義は、ローカル変数の定義と同じです。つまり、int i=2;
(すべての関数の外側でのみ)。しかし、なぜextern int i=2;
定義として機能しすぎているのでしょうか。extern
他のファイルの変数宣言でのみ使用されていませんか?
b)ファイル1
#include<stdio.h>
int i=3;
int main()
{
printf("%d",i);
fn();
}
file2
int i; // although the declaration should be: extern int i; So, why is this working?
void fn()
{
printf("%d",i);
}
出力:どちらの場合も3