SFFamily 板


LINE

※ [本文轉錄自 C_and_CPP 看板] 作者: ikari512 ( //StrategyBass) 看板: C_and_CPP 標題: [心得]關於array initialization (陣列初始化)的筆記 時間: Fri Nov 28 00:49:37 2008 最近在版上問了一些關於array initialization的問題,還和高手同學討論了一下 稍微整理筆記如下,來討論看看有沒有錯... 以下都用gcc 4.1.2測試 (1.)array宣告了但沒初始 int num[10]; //沒初始 去讀的話,都是垃圾值 (2a.)array宣告了,但只有部份初始(版本1) int num[10]; num[0] = 999; 除了num[0]以外,也都是垃圾 (2b.)array宣告了,但只有部份初始(版本2,用大括弧) int num[10] = {1,2,3}; //沒初始完全 因為用大括弧,沒初始的部份會自動補成0 這是因為... (節錄自tinlans大,英文是C99的一段) [...If there are fewer initializers in a brace-enclosed list than there are elements or members of an aggregate, or fewer characters in a string literal used to initialize an array of known size than there are elements in the array, the remainder of the aggregate shall be initialized implicitly the same as objects that have static storage duration. array 和 struct 這類東西在程式語言裡都被歸類為 aggregate (聚合資料)...] 粗略說就是... 如果aggregare型別(如array/struct)初始不完全,而且又是用大括弧方式初始, 就會像static變數一樣,自動把沒初始到的部份補0 所以,我們又可以知道 以下這種初始方式: int num[10] = {0}; 可以說對,也可以說錯 因為照標準,這是部份初始化,又是array,所以其他也都會是0,看起來好像有初始效果 但這只是部份初始化的順帶效果,算你好運 如果compiler沒照標準,這樣就只有對第一個元素給值,其他就看天意,所以也算錯 而且這樣會造成誤解,以為會全部都設成0 int num[10] = {255}; //之前版友的例子 這樣其實只有第一個是255,其他都會是自動補的0,不是全部都是255 所以最好乖乖來,用memset,或是loop去初始 以上,有錯請鞭 ._./~ -- // IKARi 擁有追隨自己內心與直覺的勇氣,你的內心與直覺多少已經知道你真正想要成為什麼樣的 人,任何其他事物都是次要的。 Steve Jobs --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.168.181.96
1F:推 williamyu:感謝整理:) 11/28 11:08
2F:推 chrisdar:int num[10] ={}; 這樣寫呢 11/28 11:20
3F:推 chrisdar:char num[10] = ""; 這樣寫呢 11/28 11:28
-- 妳憑什麼愛我...? 又憑什麼要走...! --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.132.117.169







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Boy-Girl站內搜尋

TOP