C中的NULL指针 在变量声明的时候,如果没有确切的地址可以赋值,为指针变量赋一个NULL 值是一个良好的编程习惯。赋为 NULL 值的指针被称为空指针。 NULL指针是一个定义在标准库中的值为零的常量。请看下面的程序: <stdio.h> int main(intargc, char const*argv[]) {
int *ip = NULL; printf("ip的值是:%x\n",*ip ); return 0; }
在大多数的操作系统上,程序不允许访问地址为0的内存,因为改内存是操作系统保留的.然而,内存地址0有特别重要的意思,它表明该指针不指向一个可访问的内存位置.但是按照惯例,如果指针包含空值(零值),则假定它不指向任何东西. 如需检查一个空指针,可以使用if语句,如下表示: If(ip) //如果ip非空,则完成
If(!ip)//如果ip为空,则完成 - #include <stdio.h>
- int main(int argc, char const *argv[])
- {
- int *ip = NULL;
- if (!ip)
- {
- printf("完成if内的内容\n");
- }else {
- printf("完成else内的内容\n");
- }
- return 0;
- }
复制代码
|