c++ - 将指针与字符串的字符结尾进行比较

标签 c++ c pointers

我知道在将 char 指针与某个 char 值进行比较时,您需要在指针前面加上 *,但我在一些代码中发现了如下比较:

char* c;
// ... 
while (*c != ']' && *c != '\0') // search for some character 
{
    c++;
}
if (c == '\0')
{
    return -1; // error
}

所以,我的问题是:这是错误还是特殊情况?那里不应该有 if (*c == '\0') 吗?

最佳答案

你是对的。

c == '\0'

检查指针本身是否等于 0,而不是指针指向的字符。

关于c++ - 将指针与字符串的字符结尾进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36592089/

相关文章:

从 char * 到 uint8_t * 的转换

c++ - Qt:使用 Qt 脚本添加 UI 元素

c++ - 双重哈希 - 删除和重新哈希函数

C++ 调试断言失败,表达式 : _BLOCK_TYPE_IS_VALID(pHead - blockUse )

c++ - 如何在 C++ 中获取 .csv 文件的一部分?

c - 免费使用问题

c - 写入/访问I/O端口硬件看门狗寄存器linux

c - 哈希算法的实现将字符串转换为数字

c++ - C++中 'this'指针的用例

c - 结构成员语法