void指向文字常量的指针

时间:2012-10-04 02:55:57

标签: c void-pointers

当我浏览其他人编写的一些代码时,我遇到了一个句子,其含义我不确定。任何帮助表示赞赏。

str != ((void *)0)

3 个答案:

答案 0 :(得分:4)

这一行有效地将str(可能是指针)与NULL指针进行比较。

答案 1 :(得分:1)

((void *)0)与NULL

基本相同

从技术上讲,NULL指针是0x0

因此该语句确保指针str不是NULL

编译器

答案 2 :(得分:0)

这是一种测试str是零还是非零的冗余方法。

在这种情况下,在C和C ++代码中广泛使用(void*)强制转换通常表明程序员并不真正理解该语言。编译器将在需要它们的许多情况下插入这些强制转换。在这种情况下,根本不需要它。