2014-08-29 64 views
0

我想用\ 0初始化一個字符串數組。 這樣做是否正確?用 0初始化字符串數組0

char first[1024][1024] = {'\0'}; 
+0

這樣,你的數組將被完全歸零。 – HuStmpHrrr 2014-08-29 16:23:00

+0

你可以簡化它,只需使用'{0}'。 – 2014-08-29 16:24:17

+0

@Arpit:我沒有看到「靜態」,所以我不確定你在說什麼。 – user2357112 2014-08-29 16:25:09

回答

2

用於2D陣列是更好地使用:

char first[1024][1024] = {{'\0'},{'\0'}}; 

或更好(如通過@haccks建議的):

char first[1024][1024] = {{'\0'}}; 

以免警告。

+1

謝謝你,現在沒有任何警告。 – user3656667 2014-08-29 16:27:15

+0

@haccks,抱歉回滾您的編輯,但gcc使用'{'\ 0'}' – 2014-08-29 16:30:25

+0

@AlterMann發出警告;有趣! – haccks 2014-08-29 16:32:26

-1

如果它是一個靜態數組,例如一個全局數組,則不需要進行任何初始化,並且該數組的值默認設置爲0。

+1

它不能被判斷問題中的數組是靜態的或不是問題的表達,那麼爲什麼你確定它不是一個靜態數組? @lgor – ACcreator 2014-08-29 16:37:36

+0

@ pablo1977爲什麼錯誤的答案? – ACcreator 2014-08-29 17:07:33