2014-08-29 73 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