看板 C_and_CPP 關於我們 聯絡資訊
不好意思 有個問題想請教版友 我有個a.c 裡面宣告了一個全域變數double b = 0.1; 因為想給d.c使用b 所以在a.h中宣告extern b; 那我在a.c中設定的初始值 d.c能拿到嗎? 還是有其他方法可以建議?謝謝 -- ╔╮ ╭═╦╮╭═╦╗╮ ╮╔══╮╭═╦╮╮ ╔╮╔══╮╭══╮ ╠╣ ╠═╬╣╭╬╩╯╰╦╦╯╠═╦╮║ ╠╣║║╠╣╠╣ ╰═╦╮ ╠╣ ╭║ ╠╣║╰╔╗ ╠╣ ║ ╠╣║ ╠╣║╰╠╣║╰╔╗║ ╠╣ ╰╩═╯╰ ╰╝╚═╩╯ ╰╝ ╚═╩╯╰═╩╯╰ ╰╝╚═╩╯╰═╩╯ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.211.0.80
james732:試試看就會知道了 答案應該是可以的 04/14 15:03
tomore:記得在d.c中要include a.h 04/14 15:09
tinlans:extern double b; 不能缺 type 04/14 16:09
QQ29:extern 本來就是給你拿值的阿 不然extern 幹嘛@@? 04/14 16:34
VictorTom:extern用來拿值?? extern修飾var是hint這裡宣告的var不 04/14 16:39
VictorTom:在這個file內, 到時候應該是linker要去找到該var所在的 04/14 16:39
VictorTom:address, 所以與其說拿值, 不如說它們根本會是同一個位 04/14 16:40
VictorTom:址吧, 所以根本沒有初值拿不拿得到的問題, 因為根本就是 04/14 16:41
VictorTom:同一個不是嗎@_@" 04/14 16:41
VictorTom:補字: 這裡宣告的var 其定義 不在這個file內. 04/14 16:42
VictorTom:啊, 精華區: z->3->17->1 其實有....XD 04/14 16:48
lazybones:謝謝! 04/19 14:41