gpt4 book ai didi

const char **p 比较指针和整数 if (**p == NULL)

转载 作者:太空宇宙 更新时间:2023-11-04 01:19:55 24 4
gpt4 key购买 nike

我正在定义一个函数,其中一个参数是 const char **p。我知道这意味着“将 p 声明为指向 const char 的指针”。现在我想检查 const char 是否为 NULL 字符,因此检查 (**p == NULL) 但它发出警告 warning: comparison between pointer and integer。这是代码示例

   bool func(const char **p)
{ if (**p == NULL)
return false;}

我不确定为什么会这样提示。 **p 不应该取消引用字符值指针 *p 指向吗?还是我混淆了 NULL'\0'

最佳答案

NULL 是定义空指针常量 的宏,而不是 ASCII 字符 NUL。如果要测试字符 NUL,则:

if( **p == '\0' )

或者更简单地说:

if( **p == 0 )

关于const char **p 比较指针和整数 if (**p == NULL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46816503/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com