[英]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.