[問題] 請問extern可以這樣用嗎

看板C_and_CPP (C/C++)作者 (買顯卡 7300gt)時間16年前 (2009/05/19 02:08), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串1/2 (看更多)
我想宣告一塊記憶體 讓其他function去做存取 但是我可能經過幾個function以後才會用到 ex: main-> functionA -> functionB ->functionC讀取記憶體 我不想一直把記憶體位置p傳下去 所以我寫了下面這樣的程式 extern p; int main(){ int* p; p = (int* ) malloc (1000 *sizeof (int)); ................ } int C(int n) { return p[n]; } 但是會出現 [linker erorr] undefined reference to 'p' 請問各位extern 不能這樣用嗎? 還是我哪邊寫錯了 請各位幫忙解答一下 感謝~~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.169.141.81

05/19 02:15, , 1F
你的p是區域變數@@ scope不太對吧?
05/19 02:15, 1F

05/19 11:04, , 2F
extern 不是用來在函數間傳遞,而是宣告(檔案)外部有這個變數
05/19 11:04, 2F
文章代碼(AID): #1A4QGRYm (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1A4QGRYm (C_and_CPP)