空指针:
整数常量零( 0 )根据它的使用具有不同的含义。在所有情况下,它都是一个值为 0 的整数常量,只是以不同的方式描述。
如果将任何指针与0进行比较,则这是检查指针是否为空指针的检查。这个0然后被称为空指针常量。 C 标准定义 0 被类型转换为(void *)既是空指针又是空指针常量。
宏NULL在头文件“stddef.h”中提供。
以下是检查 NULL 指针的方法:
- NULL 被定义为比较等于空指针:
if(pointer == NULL)
- 下面的 if 语句隐式检查“is not 0” ,因此我们将其反转为“is 0”为:
if(!pointer)
空字符( ‘\0’ ):
‘\0’被定义为空字符。它是一个所有位都设置为零的字符。这与指针无关。 ‘\0’是(与所有字符字面量)一个值为 0 的整数常量。
- 下面的语句检查字符串指针是否指向空字符。
if (!*string_pointer)
- 下面的语句检查字符串指针是否指向非空字符。
if (*string_pointer)
在 C 语言中,字符串只不过是一个 char 类型的数组。它将每个字符存储在 1 个字节的存储空间中。每个数组都以‘\0’或空字符终止,但如果我们在字符串存储一个‘0’,根据 C 语言,两者都不相同。根据 ASCII 表, ‘0’表示48 ,而根据 ASCII 表, ‘\0’表示0 。
下面是打印 ‘\0’ 和 ‘0’ 值的 C 程序:
// C program to print the value of
// '\0' and '0'
#include
// Driver Code
int main()
{
// Print the value of
// '\0' and '0'
printf("\\0 is %d\n", '\0');
printf("0 is %d\n", '0');
return 0;
}
输出:
\0 is 0
0 is 48
想要从精选的视频和练习题中学习,请查看C 基础到高级C 基础课程。