看板 C_and_CPP 關於我們 聯絡資訊
global variable 和 static global variable 的差別 就我理解: 同: 變數宣告前+static 生命週期同 均為程式結束後才清掉 均在compile時就配置一塊記憶體給變數使用 scope為該變數定義處開始向下到程式結束 若不在scope內想要使用 可以使用extern 不同: 前者可以在不同檔案互通相同的變數 後者只限在單一檔案程式內 1.以上不知道有無問題? 2.還有什麼不同之處呢? 因我感到很困惑 特別產生了一種variable 卻只有一點不同? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.192.189.62
loveme00835:你可以保證 static global objects 的初始化一定是依 01/21 01:10
loveme00835:定義的順序來, 而有外部連結的 global objects 則不能 01/21 01:11
loveme00835:如果硬要去記這些差別, 還不如一開始就不要用全域的物 01/21 01:12
loveme00835:件還來得輕鬆 01/21 01:12
tropical72:其實我蠻想知道, heap/stack 上有沒有差 XD 01/21 01:33
loveme00835:@_@ 01/21 01:56
pichubaby:它們不在heap和stack上呢  01/21 03:04
tinlans:我不知道有幾年沒定義過 global variable 了... 01/21 04:08