NULL 是“零值、等于零”的意思,在C语言中表示空指针。从表面上理解,空指针是不指向任何数据的指针,是无效指针,程序使用它不会产生效果。 注意区分大小写,null 没有任何特殊含义,只是一个普通的标识符。 很多库函数都对传入的指针做了判断,如果是空指针就不做任何操作,或者给出提示信息。更改上面的代码,给 str ...
在C语言中,如果一个指针不指向任何数据,我们就称之为 空指针 ,用 NULL 表示。例如: int *p = NULL; 注意区分大小写,null 没有任何特殊含义,只是一个普通的标识符。 NULL 是一个宏定义,在 stdio.h 被定义为: define NULL ((void *)0) (void)0 表示把数值 0 强制转换为 void类型,最外层的 ( ) 把...
NULL 是“零值、等于零”的意思,在C语言中表示空指针。从表面上理解,空指针是不指向任何数据的指针,是无效指针,程序使用它不会产生效果。 注意区分大小写,null 没有任何特殊含义,只是一个普通的标识符。 很多库函数都对传入的指针做了判断,如果是空指针就不做任何操作,或者给出提示信息。更改上面的代码,给 str ...
在进程的虚拟地址空间中,最低地址处有一段内存区域被称为保留区,这个区域不存储有效数据,也不能被用户程序访问,将NULL指向这块区域很容易检测到违规指针。 关于虚拟地址空间的概念以及程序的内存分布,我们将在《C语言和内存》专题中深入讲解,现在读者只需要记住,在大多数操作系统中,极小的地址通常不保存数据,也不允...