[問題] global variable vs static global variable

看板C_and_CPP作者 (WZXM)時間15年前 (2011/01/20 23:55), 編輯推噓1(107)
留言8則, 4人參與, 最新討論串1/1
global variable 和 static global variable 的差別 就我理解: 同: 變數宣告前+static 生命週期同 均為程式結束後才清掉 均在compile時就配置一塊記憶體給變數使用 scope為該變數定義處開始向下到程式結束 若不在scope內想要使用 可以使用extern 不同: 前者可以在不同檔案互通相同的變數 後者只限在單一檔案程式內 1.以上不知道有無問題? 2.還有什麼不同之處呢? 因我感到很困惑 特別產生了一種variable 卻只有一點不同? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.192.189.62

01/21 01:10, , 1F
你可以保證 static global objects 的初始化一定是依
01/21 01:10, 1F

01/21 01:11, , 2F
定義的順序來, 而有外部連結的 global objects 則不能
01/21 01:11, 2F

01/21 01:12, , 3F
如果硬要去記這些差別, 還不如一開始就不要用全域的物
01/21 01:12, 3F

01/21 01:12, , 4F
件還來得輕鬆
01/21 01:12, 4F

01/21 01:33, , 5F
其實我蠻想知道, heap/stack 上有沒有差 XD
01/21 01:33, 5F

01/21 01:56, , 6F
@_@
01/21 01:56, 6F

01/21 03:04, , 7F
它們不在heap和stack上呢 
01/21 03:04, 7F

01/21 04:08, , 8F
我不知道有幾年沒定義過 global variable 了...
01/21 04:08, 8F
文章代碼(AID): #1DE5hgOU (C_and_CPP)