指针

1.指针是变量。实质:单元的地址就是指针内容。

系统为指针分配内存空间;

指针有自己的地址;

指针能够存值,但这个值比较特殊———地址。

2.指针,是一个无符号整数(unsigned int),它是一个以当前系统寻址范围为取值范围的整数。32位系统下寻址能力(地址空间)是4G-byte(0~2^32-1)二进制表示长度为32bit(也就是4B)。

3.指针的类型和指针所指向的类型

int *ptr;    //指针类型是int*                                    指针所指向的类型是int

char *ptr    //指针类型是char*                                指针所指向的类型是char

int **ptr    //指针类型是int**                                    指针所指向的类型是int*

int (*ptr)[3];    //指针类型是int   (*)【3】        指针所指向的类型是 int()[3]

int *(*ptr)4;    //指针类型是int*(*)[4]                    指针所指向的类型是int *()[4]

4.空指针NULL

它并不指向任何对象,这种指针被称为空指针。

空指针的值是    NULL,NULL是在“stddef.h”中定义的一个宏,它的值和任何有效指针的值都不同。NULL是一个纯粹的0,它可能会被强制转换成“void”或“char”类型,即NULL可能是0、0L或(void*)0等。

指针的值不能是整形值,但空指针是个例外,即空指针的值可以是一个纯粹的0,空指针的值并不必须是一个纯粹的0,但这个值是唯一有用的值。

警告:绝不能间接引用空指针,否则,你的程序可能会得到一个毫无意义的结果,或者得到一个全部等于0的值,否则会忽然停止运行。

5.空指针的使用

(1)用空指针终止对递归函数的间接引用,递归是指一个事物本身来定义。

(2)用空指针进行函数调用失败时的返回值。

(3)空指针作警戒值。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值