繁体   English   中英

C中struct中的malloc布尔值的默认值?

[英]Default of malloc'd bool value within struct in C?

当我们尝试以n-> myBool的形式访问此布尔值时,它在结构中的值是什么? 我很想知道bool的“默认”值是在为其分配内存之后,而不是为其分配false值的true。

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM