第四章数组与指针(指针)

指针:指针用于指向对象;

指针初始化和赋值操作的约束

1、0值常量表达式(NULL)

2、类型匹配的对象的地址

3、另一对象之后的下一地址

4、同类型的另一个有效指针

 

注意:避免使用未初始化的指针

void指针可以保存任何类型对象的地址,它只支持几种操作:

1、与另一指针比较

2、向函数传递void指针或从函数返回void指针

3、给另一个void指针赋值

注意:不允许使用void指针操作它所指向的对象

 

指针与引用区别:

1、引用总是指向某一个对象,定义引用时没有初始化时错误的

2、给引用赋值修改的时该引用所关联的对象的值,并不是时引用于另一个对象关联。引用一经初始化,其指向的对象不可以改变

 

指向指针的指针,即多级指针。本质一样

 

指针与const:

最重要:c++强制要求指向const对象的指针也必须具有const特性;

不能使用void*指针保存cosnt对象的地址,而必须使用const void*指针保存const对象的地址。允许把非const对象的地址赋值给指向const对象的指针。

 

指向const对象的指针:

const int *a;int const * a;

const指针:

int *const a;

指向const对象的const指针:

const int * const a;

 

指针与typedef

typedef string *pstring;

const pstring cstr;

声明const pstring时,cosnt修饰的是pstring的类型,这是一个指针,因此该声明语句应该是把cstr定义为指向string类型对象的const指针,这个等价于:

string *cosnt cstr;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值