1
我想用外部字符數組大小說50EXTERN陣列,如何使用
我有extern.h
extern char arr[50];
我有交流轉換器我在哪裏訪問arr
。
和我有b.c這是我的驅動程序文件。
我也有功能有啊的定義在AC
在我的驅動程序文件現在BC我有
#include"extern.h"
#include"a.h"
char arr[50];
int main()
{
//call to function in a.c
}
和我交流,我有
#include"a.h"
#include"extern.h"
int function1()
{
//accessing arr, say printing arr[1]
}
這給了我賽格故障。
我是否包括文件的權利,以及我在extern.h和b.c中聲明的外部變量是正確的。
是什麼導致seg故障?
不要在bc(main())中包含extern.h:arr []被定義爲「兩次」,一個用extern,另一個不用extern ... extern wins,所以arr []是不與分配的數組靜態關聯。 – ydroneaud 2012-02-21 12:20:22
@ydroneaud「外部勝利」怎麼樣?數組聲明「勝利」,否則你會有鏈接錯誤。問題必須在其他地方(例如* printf *的不正確使用)。 – 2013-11-03 01:21:02