【发布时间】:2017-10-17 09:32:59
【问题描述】:
在 C 编码中,什么时候最好使用“NULL”而不是 0。 我在代码中注意到,只要有指针,就会使用 NULL。
【问题讨论】:
-
副本的答案也提到了 NULL 和 0 之间的“差异”,因此它似乎适合作为副本。至少考虑到“最佳实践”是基于意见的,即不适合Stack Overflow。
在 C 编码中,什么时候最好使用“NULL”而不是 0。 我在代码中注意到,只要有指针,就会使用 NULL。
【问题讨论】:
初始化变量时应该使用:
int i=0;
float f=0.0f;
double = 0.0;
char c='\0';
在初始化指针的情况下,您应该在任何类型的指针中使用 NULL。这是由于指针类型变量的定义:它不保存一个值,它保存一个值的地址,或一组值(array/string -> int in case of int* (array), char in case char*(字符串)等)。因此,您使用 NULL 来表示它指向内存中的任何内容。
【讨论】:
NULL 的情况下,它是类型为指针的 0 的值。
NULL(或(T*)0)在内存中不一定全为 0。