這是這種情況。在文件「fileA.c」我有如何在ansi-c中使用指向全局結構的指針?
typedef struct MY_STRUCT
{
int A;
int B;
int C;
}MY_STRUCT;
MY_STRUCT Data;
/* Function */
int function(MY_STRUCT *params)
{
int varA, varB, varC;
varA = params->A;
varB = params->B;
varC = params->C;
}
,我需要填補其他常規的結構要素,例如,「fileB.c」,它包含以下內容:
extern MY_STRUCT Data;
int function(MY_STRUCT *params);
/* Function */
void userMain(void)
{
Data.A = 1254;
Data.B = 5426;
Data.C = 1236;
function(&Data);
}
但我發現了錯誤:
「[錯誤] fileB.c E208:語法錯誤 - 令牌‘數據‘
’之前插入’和我磨片交叉探測錯誤的編譯器把我的聲明「EXTER n MY_STRUCT數據;「
所以我的問題是如何完成此功能?我的意思是,如何在另一個文件中填充另一個函數的結構元素,這與另一個文件中聲明結構的文件不同?
謝謝你就是這樣! – m4l490n 2012-08-14 20:30:17