看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《Favonia (小西風最乖了*^^*)》之銘言: : 推 fon909:推,另外第5頁第2點是全域變數嗎?"很多實作"可以舉幾個例嗎? 09/06 22:47 foo.c: int p[100] = {0}; bar.c: #include <stdio.h> extern int* p; int main() { printf("%p\n", (void*)p); return 0; } 在 64bit Linux 上以 gcc 4.6.1 編譯後印出的結果為 nil 也就是 p 為空指標 這顯然不是一個陣列的正確位址 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.168.90.139 ※ 編輯: littleshan 來自: 118.168.90.139 (09/06 23:14)
james732:這種情況下,bar.c 的那個 p 應該要怎麼改寫才對呀? 09/06 23:15
firejox:extern int p[100]; ? 09/06 23:16
james732:原來這麼簡單,我想到 pointer to array 去了... 09/06 23:18
tropical72:extern int p[]; 09/06 23:22
tropical72:expert c 裡面 4.1 有針對這問題做詳細解說, 09/06 23:30
tropical72:extern int p[] 是宣告 p 為 array,維度定義在其他地方 09/06 23:30
james732:了解,感謝大好人 :D 09/06 23:31
purpose:吳建恆 09/06 23:37
fon909:原來如此,原文章內有a有p我在想是怎麼用會這樣,謝謝回答。 09/07 08:45