这三个东西是一个东西,实践如下:
看下面两段代码,运行结果都为a1==a2==a3:
3 int main()
4 {
5 char a1='\0';
6 char a2=0;
7 char a3=NULL;
8 if(a1==a2)
9 {
10 printf("a1=a1\n");
11 }
12 if(a1==a3)
13 {
14 printf("a1=a3\n");
15 }
16 if(a2==a3)
17 {
18 printf("a2=a3\n");
19 }
return 0;
}
3 int main()
4 {
5 int a1='\0';
6 int a2=0;
7 int a3=NULL;
8 if(a1==a2)
9 {
10 printf("a1=a2\n");
11 }
12 if(a2==a3)
13 {
14 printf("a2=a3\n");
15 }
16 if(a1==a3)
17 {
18 printf("a1=a3\n");
19 }
20 return0;
21 }
虽然这三个东西在底层是一个东西,但是我们还是一般用'\0'表示字符串结尾,用NULL表示空指针,用0来对一块内存空间清0。
本文深入探讨了在C语言中使用字符变量(''\0'', '0', 'NULL')表示字符串结束符、空指针和内存清零的概念,并通过代码示例展示了它们之间的等价性。

被折叠的 条评论
为什么被折叠?



