私は、ファイルdemo_f1.c
内の変数x
を宣言し、それぞれ、二つの機能void f2()
とvoid f3()
を持つ二つのファイルdemo_f2.c
とdemo_f3.c
でそれを使用しようとしています。複数の相互作用するCファイル間で共有変数を使用する方法は?
私は変数x
と両方の機能を使用するドライバプログラムを持っていますが、ドライバプログラムをコンパイルしようとするとエラーが表示されます。
demo_f1.c
int x=2;
demo_f2.c
#include"C:\TC\BIN\demo_f1.C"
void f2()
{
extern int x;
printf("In f2 x:%d\n",x);
}
demo_f3.c
#include"C:\TC\BIN\demo_f1.C"
void f3()
{
extern int x;
printf("In f3 x:%d\n",x);
}
Driver.c
#include"stdio.h"
#include"conio.h"
#include"C:\TC\BIN\demo_f1.C"
#include"C:\TC\BIN\demo_f2.C"
#include"C:\TC\BIN\demo_f3.C"
void main()
{
clrscr();
printf("In main program,x:%d\n",x);
f2();
f3();
getch();
}
エラー:
Compiling C\TC\BIN\Driver.C:
Error C\TC\BIN\DEMO_F1.C 1: Variable 'x' is initialized more than once
Error C\TC\BIN\DEMO_F1.C 1: Variable 'x' is initialized more than once
は、なぜ私はこのエラーを取得していますか?どうすれば修正できますか?
なぜあなたは#cファイルを#includeしていますか? – immibis
私は一般に.hファイルを#includeするべきであることを知っていますが、.cファイルを#includeすることもできます。それに問題はない。 –