黑马程序员技术交流社区

标题: C语言中的NULL指针 [打印本页]

作者: xu不是许    时间: 2015-10-28 23:05
标题: C语言中的NULL指针

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为空,则完成
  1. #include <stdio.h>
  2. int main(int argc, char const *argv[])
  3. {

  4.         int *ip = NULL;
  5.         if (!ip)
  6.         {
  7.                 printf("完成if内的内容\n");
  8.         }else {
  9.                 printf("完成else内的内容\n");
  10.         }
  11.         return 0;
  12. }
复制代码




作者: 青菜CC    时间: 2015-10-28 23:14
6666666666666
作者: laughing_coffin    时间: 2015-10-29 00:02
顶你,兄弟
作者: toveyloves    时间: 2015-10-29 00:52
未来的结构师…
作者: 向日葵的微笑    时间: 2015-10-29 21:54
看着好高端啊啊,完全看不懂
作者: arhui    时间: 2015-10-29 21:57
总结很到位
作者: wpf986530062    时间: 2015-10-29 22:04
不错不错,加油




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2