cpthk
2005-04-26, 03:49 PM
請問c語言char buff[SIZE];和char buff[SIZE]="";差別在哪?
感激~
感激~
cpthk 2005-04-26, 03:49 PM 請問c語言char buff[SIZE];和char buff[SIZE]="";差別在哪? 感激~ 琥珀 2005-04-26, 09:07 PM char buff[SIZE]=""; 宣告了這個 buff 陣列,內容為空。 char buff[SIZE]; 宣告了這個 buff 陣列。試著把內容印出來,結果可能是亂碼。 char buff[SIZE]=""; 和 char buff[SIZE]={'\0'}; 應該是相同的意思吧? dou0228 2005-04-26, 11:20 PM char buff[SIZE]; 是宣告 char buff[SIZE]=""; 是定義 timas 2005-04-27, 01:24 AM 一個是配置空間 一個是配置空間 並有初始值 cpthk 2005-04-27, 01:33 AM 一個是配置空間 一個是配置空間 並有初始值 那沒有初始值的那個, 如果被詢問值的時候, 會顯示0還是沒有呢? 櫻桃小丸子 2005-04-27, 01:49 AM 那沒有初始值的那個, 如果被詢問值的時候, 會顯示0還是沒有呢? 會丟出 Exception 吧... timas 2005-04-27, 02:28 AM 那沒有初始值的那個, 如果被詢問值的時候, 會顯示0還是沒有呢? 好比你到任意的教室用黑板 黑板原先會留下些什麼東西在上頭 你不能預知 所以你必須先擦掉黑板 寫上你的內容 這時的內容才有意義 沒有初始值的話 在給定一個值之前 是不應該去使用的 不然這算是程式的BUG 既然未定值 那真的是未知 如果剛好是你要的 也僅是純屬巧合 純脆看他在載入時 對應到的記憶體原本放了些什麼東西 有的Compiler可以設定全填為0 cpthk 2005-04-27, 05:58 AM 我用dev c++編譯, 兩個方式出來的檔案不同, 但是都可以正常執行, 用debugger看組合語言有發現不同~ |