在c99中初始化布尔数组的方法

时间:2018-08-09 06:19:18

标签: c boolean c99

在C99中初始化布尔数组的最佳方法是什么?

我想也许可以用这个。

bool f[5] = {false,};

真的可以吗?

如果有更好的方法,请告诉我。

2 个答案:

答案 0 :(得分:3)

如果您想将数组初始化为“全假” /“全零”初始值,则可以

 bool f[5] = { false };

或者您可以

 bool f[5] = { 0 };

哪个变量是“最好的”供您决定。这里没有确定的“最佳”方法。每个人都一样好。

答案 1 :(得分:1)

这个问题很旧,但是如果您在Google上搜索“ initialize bool array”,它仍然是Google的第一个结果。作者接受的答案是完全错误的,是靠运气,而不是设计。这个事实本身就是一个值得一提的答案。

Bugfinger在评论中指出了这一点。

您可以声明以下内容来自己尝试: bool array[4] = { true} 并检查初始化为“ 0”(假)的[1],[2]和[3]-正确,并且符合C99标准。 “所有未显式初始化的数组元素都将初始化为零。”

请参阅: https://en.cppreference.com/w/c/language/array_initialization