c++ - 条件内的指针语法

标签 c++ pointers if-statement

指针初始化后,是否必须使用 * 解引用运算符在条件中调用指针?

示例:

int main()
{
    int var = 10;
    int *ptr = &var;

    if(ptr)    // does this need to be if(*ptr)  ???
    {.......}
}

我可以简短解释一下原因吗?

谢谢。

最佳答案

if (ptr)

检查指针是否不Null但是

if (*ptr)

检查它指向的值是否不为零(在本例中为 10)

因此,为了检查您应该添加 * 的值。

关于c++ - 条件内的指针语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55727538/

相关文章:

python - 无法将类型 'myFuncDef *' 分配给 'void (*)(double *, double *)'

ios - 如果陈述有脾气

c++ - 在 C++ 中,我将如何从文本文件中获取特定行并将其存储在 char vector 中?

c++ - 如何在函数调用的一行代码中实例化类?

c++ - 软件设计从一个模块变为多个模块

作为类方法的参数传递的函数的 c++ std::vector

c - 将节点添加到单链列表的中间

java - 如何设置不按字节边界划分的位值

java - null 检查语句是否在 java 中不起作用

ios - 带有多个 OR 语句的 Objective-C IF 语句