在C99中初始化布尔数组的最佳方法是什么?
我想也许可以用这个。
bool f[5] = {false,};
真的可以吗?
如果有更好的方法,请告诉我。
答案 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