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

H. *_*ang 4 c boolean c99

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

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

bool f[5] = {false,};
Run Code Online (Sandbox Code Playgroud)

这真的好吗?

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

AnT*_*AnT 5

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

 bool f[5] = { false };
Run Code Online (Sandbox Code Playgroud)

或者你可以做

 bool f[5] = { 0 };
Run Code Online (Sandbox Code Playgroud)

哪种变体是“最好的”由您决定。这里没有明确的“最佳”方式。每一个都和另一个一样好。

  • @cdarke 你是对的。除了为每个数组元素精心提供一个显式的 `true` 初始化器之外,没有办法将所有元素初始化为 `true`。 (3认同)
  • 它之所以有效,是因为零等于“false”,如果您想将所有元素初始化为“true”,则无法使用该方法。 (2认同)