Re: [問題] 請問extern可以這樣用嗎
※ 引述《abcb1 (買顯卡 7300gt)》之銘言:
: 我想宣告一塊記憶體 讓其他function去做存取
: 但是我可能經過幾個function以後才會用到
: ex: main-> functionA -> functionB ->functionC讀取記憶體
: 我不想一直把記憶體位置p傳下去
: 所以我寫了下面這樣的程式
: extern p;
你應該是要打 extern int *p;
可是你這邊宣告成global的指標 你C函式根本就可以直接存取到p不是嘛?
就不用加extern吧! main裡面就不用寫 int *p了
如果你是想要讀取main 指標p
那就只有傳 p到 C函式吧
而你會出現這個錯誤是因為 C函式 認到的p 是extern int *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: 140.113.207.187
※ 編輯: QQ29 來自: 140.113.207.187 (05/19 11:08)
推
05/19 11:30, , 1F
05/19 11:30, 1F
→
05/19 11:46, , 2F
05/19 11:46, 2F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章