【问题标题】:Default of malloc'd bool value within struct in C?C中struct中malloc'd bool值的默认值?
【发布时间】:2015-05-24 09:30:20
【问题描述】:

当我们尝试将它作为 n->myBool 访问时,结构中的这个 bool 的值是什么?我很想知道在为 bool 分配内存但没有为其分配 true 或 false 值之后,布尔的“默认”值是什么。

#include <stdbool.h>
typedef struct node
{
 bool myBool;
} Node;

void main()
{
 Node* n = malloc(sizeof(Node));
 return;
}

编辑:更正了代码中的错字(应该是 sizeof(Node) 而不是 sizeof(node)

【问题讨论】:

    标签: c struct boolean


    【解决方案1】:

    没有默认值。 malloc 分配的空间未初始化,在写入值之前尝试从 n-&gt;myBool 读取将导致未定义的行为。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-02-24
      • 2015-10-01
      • 2014-06-29
      • 2017-10-08
      • 2019-02-01
      • 2023-03-18
      • 2020-10-15
      相关资源
      最近更新 更多