C中struct中malloc'd bool值的默认值?
Default of malloc'd bool value within struct in C?
当我们尝试以 n->myBool 的形式访问它时,它在结构中的值是多少?我很想知道在为其分配内存但未为其分配真值或假值后,bool 的 "default" 值是多少。
#include <stdbool.h>
typedef struct node
{
bool myBool;
} Node;
void main()
{
Node* n = malloc(sizeof(Node));
return;
}
编辑:更正了代码中的错字(应该是 sizeof(Node) 而不是 sizeof(node)
没有默认值。 malloc
分配的 Space 未初始化,在写入值之前尝试从 n->myBool
读取将导致未定义的行为。
当我们尝试以 n->myBool 的形式访问它时,它在结构中的值是多少?我很想知道在为其分配内存但未为其分配真值或假值后,bool 的 "default" 值是多少。
#include <stdbool.h>
typedef struct node
{
bool myBool;
} Node;
void main()
{
Node* n = malloc(sizeof(Node));
return;
}
编辑:更正了代码中的错字(应该是 sizeof(Node) 而不是 sizeof(node)
没有默认值。 malloc
分配的 Space 未初始化,在写入值之前尝试从 n->myBool
读取将导致未定义的行为。