小编B. *_*Boe的帖子

如何在C中初始化bool指针?

我正在编写一些小的代码来了解指针的工作原理并遇到了一个问题。我在名为“main.c”的文件中有一个由“valid”指向的布尔值:

bool *valid;
Run Code Online (Sandbox Code Playgroud)

指针的地址被传递给名为“test.c”的第二个文件中的方法:

method(&valid);
Run Code Online (Sandbox Code Playgroud)

在“test.c”方法中,我将 valid 设置为 true:

*valid = true;
Run Code Online (Sandbox Code Playgroud)

在“main.c”中的方法调用之后,我在两个 if 语句中取消引用 valid 以查看它是真还是假:

if (*valid) {
    printf("valid is true.\n");
}
if (!(*valid)) {
    printf("valid is false.\n");
}
Run Code Online (Sandbox Code Playgroud)

两个语句都打印,但只有“有效为真”才应该打印。这里可能是什么问题?

c pointers

-3
推荐指数
1
解决办法
1万
查看次数

标签 统计

c ×1

pointers ×1