我有兩個文件:uart.c
,它在4-5th線拖變量:我可以通過指針從另一個文件訪問文件的靜態變量嗎?
static FIFO inputBuffer;
static FIFO outputBuffer;
而且buffer.c
,其中有sevenal功能來管理FIFO
結構,如:
void FIFOGet(FIFO* buffer, uint8_t* data, uint8_t length)
這些功能是一般用途,所以我絕不會直接在buffer.c
處理inputBuffer
,只能通過指針。該ablove功能從uart.c
爲所謂:
FIFOGet(&inputBuffer, someArray, n)
但這個函數中我失去了buffer
的價值(我知道inputBuffer
位於0x04f0當我打電話的功能,但buffer
的價值是0x04ea - 這指向outputBuffer
,我140%肯定函數調用沒問題,我沒有通過outputBuffer
)。這是因爲我宣稱inputBuffer
爲static
?如果是這樣,我會刪除它,但我應該extern FIFO inputBuffer
到buffer.c
?我想如果有人能解釋它是如何工作的。
閱讀關於'static'變量... –