C中的NULL指针

简介: 【2月更文挑战第6天】C中的 NULL指针。

C中的 NULL 指针
在变量声明的时候,如果没有确切的地址可以赋值,为指针变量赋一个 NULL 值是一个良好的编程习惯。赋为 NULL 值的指针被称为空指针。
NULL 指针是一个定义在标准库中的值为零的常量。请看下面的程序:
实例

include

int main ()
{
int *ptr = NULL;
printf("ptr 的地址是 %p\n", ptr );

return 0;
}
当上面的代码被编译和执行时,它会产生下列结果:
ptr 的地址是 0x0
在大多数的操作系统上,程序不允许访问地址为 0 的内存,因为该内存是操作系统保留的。然而,内存地址 0 有特别重要的意义,它表明该指针不指向一个可访问的内存位置。但按照惯例,如果指针包含空值(零值),则假定它不指向任何东西。

如需检查一个空指针,您可以使用 if 语句,如下所示:

if(ptr) / 如果 p 非空,则完成 /
if(!ptr) / 如果 p 为空,则完成 /

目录
相关文章
|
6月前
C 中的 NULL 指针
C 中的 NULL 指针。
26 0
|
2月前
C中的NULL指针
C中的NULL指针。
19 2
|
27天前
C中的NULL指针
C中的NULL指针。
5 1
|
1月前
|
编译器 C语言
【C语言】深入理解NULL指针
【C语言】深入理解NULL指针
32 0
|
IDE Java 编译器
记一次inline使用不当导致编译期Null指针的排查过程
周五的一个下午,我哼着小曲和往常一样合完代码。准备运行试试看,结果build时发现了这样一个异常。
115 0
记一次inline使用不当导致编译期Null指针的排查过程
|
C语言 开发者
void 指针和 NULL 指针|学习笔记
快速学习 void 指针和 NULL 指针
57 0
|
C语言
void指针和NULL指针
一、void指针 二、NULL指针 三、NULL不是NUL
|
C语言 C++
【C 语言】指针数据类型 ( 不允许向 NULL 地址写入数据 | 不允许不断地改变指针指向 | 字面量存放位置 )
【C 语言】指针数据类型 ( 不允许向 NULL 地址写入数据 | 不允许不断地改变指针指向 | 字面量存放位置 )
191 0
【C 语言】指针数据类型 ( 不允许向 NULL 地址写入数据 | 不允许不断地改变指针指向 | 字面量存放位置 )
void指针、NULL指针和未初始化指针
    一个指针可以被声明为void类型,比如void *x。一个指针可以被赋值为NULL。一个指针变量声明之后但没有被赋值,叫做未初始化指针。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 2...