C - 在 C99 中初始化布尔数组的方法



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

也许我可以用这个,我想。

bool f[5] = {false,};

这真的可以吗?

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

如果你想将数组初始化为"all false"/"all zeros"初始值,你可以

 bool f[5] = { false };

或者你可以做

 bool f[5] = { 0 };

哪种变体是"最好的",由您决定。这里没有绝对的"最佳"方法。每一个都和另一个一样好。

这个问题很旧,但如果你在谷歌上搜索"初始化布尔数组",仍然是谷歌上的第一个结果。作者接受的答案是完全错误的,并且靠运气而不是设计。这个事实本身就值得一提。

Bugfinger在对接受答案的评论中指出了这一点。

您可以通过声明自己尝试: bool array[4] = { true} 并检查初始化为"0"(假(的 [1]、[2] 和 [3] - 这是正确的,并且在 C99 标准中。"所有未显式初始化的数组元素都是零初始化的。">

看: https://en.cppreference.com/w/c/language/array_initialization

最新更新