看板 C_and_CPP 關於我們 聯絡資訊
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) VC++ 問題(Question): 請問 我在global中宣告了從外部API中的struct struct API_MBUF{..} 這部分在別人的code中 然後我在程式裡宣告 API_MBUF a[2] 請問這個宣告之後要做什麼初始化的設定嗎? API給的sample code只使用到memset來把這裏面的東西填上值, 但是在副程式裡發現變數a值的值無法被修改, 會變成a[0]={6000,300,2000}之類的數值, 而a[1]會是{0,0,0}, 都不能被修改(包括用memset去給預設值).. 我期望的正常狀況應該是, a[0]在用memset之後應該會按照預設值填寫, 並且可以正常修改值.. 請問我是否忽略了什麼步驟? 譬如說malloc之類的? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.24.50.194
linotwo:global 變數會被設成所有位元皆為 0 並且呼叫其建構子。 03/19 17:04
linotwo:需要注意,建構子被呼叫的順序不能被確定。 03/19 17:05
chigi:好奇怪..照這樣說的話,看起來應該沒啥問題才對.. 03/19 18:25
chigi:後來受不了了,全部用local variable.. 03/19 18:25