C中的NULL指针

简介: 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 为空,则完成 /

目录
相关文章
|
7月前
C中的NULL指针
【2月更文挑战第6天】C中的 NULL指针。
60 2
C 中的 NULL 指针
C 中的 NULL 指针。
38 0
|
7月前
C中的NULL指针
C中的NULL指针。
26 1
|
7月前
|
编译器 C语言
【C语言】深入理解NULL指针
【C语言】深入理解NULL指针
169 0
|
程序员 C语言 C++
C++空指针NULL和nullptr
🐰C++空指针NULL和nullptr 🏡空指针
|
IDE Java 编译器
记一次inline使用不当导致编译期Null指针的排查过程
周五的一个下午,我哼着小曲和往常一样合完代码。准备运行试试看,结果build时发现了这样一个异常。
144 0
记一次inline使用不当导致编译期Null指针的排查过程
|
SQL Java 关系型数据库
记录:springboot使用resultType空指针java.lang.NullPointerException: null...【亲测有效】
记录:springboot使用resultType空指针java.lang.NullPointerException: null...【亲测有效】
440 0
|
C语言 开发者
void 指针和 NULL 指针|学习笔记
快速学习 void 指针和 NULL 指针
|
C语言
void指针和NULL指针
一、void指针 二、NULL指针 三、NULL不是NUL
|
C语言 C++
【C 语言】指针数据类型 ( 不允许向 NULL 地址写入数据 | 不允许不断地改变指针指向 | 字面量存放位置 )
【C 语言】指针数据类型 ( 不允许向 NULL 地址写入数据 | 不允许不断地改变指针指向 | 字面量存放位置 )
230 0
【C 语言】指针数据类型 ( 不允许向 NULL 地址写入数据 | 不允许不断地改变指针指向 | 字面量存放位置 )