void指针 null指针 未初始化指针

转自http://hi.baidu.com/superluo/blog/item/68f1e703daaa73ea08fa9329.html

 

一个NULL指针,即
int *p = NULL;
解引用(*p)时会引起程序运行时错误(即程序崩溃),除非什么也不做的表达式:*p;
而一个未初始化的指针
int *q;
解引用 *q 只有在做左值时会引起程序运行时错误。
void *t;
解引用时 *t 会出现编译错误。

任何人如果事先不知道一个指针是否有值,都应该进行测试,然后才能对指针进行操作。

以上引自http://hi.baidu.com/mrdenglazy/blog/item/19380bca4ea9ed80c91768eb.html

关于void和void指针:

引自:http://dev.yesky.com/340/2517340_1.shtml

1.概述

  许多初学者对C/C++语言中的void及void指针类型不甚理解,因此在使用上出现了一些错误。本文将对void关键字的深刻含义进行解说,并详述void及void指针类型的使用方法与技巧。

2.void的含义

  void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据。

  void几乎只有“注释”和限制程序的作用,因为从来没有人会定义一个void变量,让我们试着来定义:

void a;

  这行语句编译时会出错,提示“illegal use of type 'void'”。不过,即使void a的编译不会出错,它也没有任何实际意义。

  void真正发挥的作用在于:

  (1)对函数返回的限定;

  (2)对

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值