熟C語言的朋友請進 - PCZONE 討論區

返回   PCZONE 討論區 > ▲ -- 電 腦 軟 體 討 論 區 > -- HELP ME 電 腦 軟 硬 體 急 救 版


PCZONE 討論區



通知

-- HELP ME 電 腦 軟 硬 體 急 救 版 若您有簡單的電腦軟硬體或網路等各種疑難雜症想要請教高手,請在此發表。此區不分種類的問題皆可發表,以小問題為主,請電腦新手多多利用此一新的版版。

會員
熟C語言的朋友請進
請問c語言char buff[SIZE];和char buff[SIZE]="";差別在哪?

感激~

回覆
あなたの家に行く

char buff[SIZE]=""; 宣告了這個 buff 陣列,內容為空。
char buff[SIZE]; 宣告了這個 buff 陣列。試著把內容印出來,結果可能是亂碼。

char buff[SIZE]=""; 和 char buff[SIZE]={'\0'}; 應該是相同的意思吧?
回覆
拉登長官

char buff[SIZE]; 是宣告
char buff[SIZE]=""; 是定義
回覆
我的咪咪

一個是配置空間 一個是配置空間 並有初始值
回覆
會員

引用:
作者: timas
一個是配置空間 一個是配置空間 並有初始值
那沒有初始值的那個, 如果被詢問值的時候, 會顯示0還是沒有呢?
回覆
會員

引用:
作者: cpthk
那沒有初始值的那個, 如果被詢問值的時候, 會顯示0還是沒有呢?
會丟出 Exception 吧...
回覆
我的咪咪

引用:
作者: cpthk
那沒有初始值的那個, 如果被詢問值的時候, 會顯示0還是沒有呢?
好比你到任意的教室用黑板 黑板原先會留下些什麼東西在上頭 你不能預知
所以你必須先擦掉黑板 寫上你的內容 這時的內容才有意義

沒有初始值的話 在給定一個值之前 是不應該去使用的 不然這算是程式的BUG
既然未定值 那真的是未知 如果剛好是你要的 也僅是純屬巧合 純脆看他在載入時 對應到的記憶體原本放了些什麼東西
有的Compiler可以設定全填為0
回覆
會員

我用dev c++編譯, 兩個方式出來的檔案不同, 但是都可以正常執行, 用debugger看組合語言有發現不同~



回覆







 XML   RSS 2.0   RSS 
本站使用 vBulletin 合法版權程式
站務信箱 : [email protected]

本論壇所有文章僅代表留言者個人意見,並不代表本站之立場,討論區以「即時留言」方式運作,故無法完全監察所有即時留言,若您發現文章可能有異議,請 email :[email protected] 處理。