指针定义 初始化

指针和数组容易产生不可预料的错误,其中一部分时概念上的问题:指针用于低级操作,容易产生与繁琐细节相关的错误,其他错误则源于使用指针的语法规则,特别是声明指针的语法。许多有用的程序都可不使用数组或指针实现,现代C++程序采用vector类型和迭代器取代一般的数组,使用string类型取代C风格字符串。


每个指针都有一个与之关联的数据类型,该数据类型决定了指针所指向的对象的类型。eg:一个int型指针只能指向int型对象。

注:理解指针声明语句时,从右往左阅读

eg:string  *pstring;     //把pstring定义为一个指向string类型对象的指针变量。


另一种声明指针的风格

在定义指针变量时,可用空格将符号*与其后的标识符分隔开来。

eg:string*   ps;   //把ps定义为一个指向string类型对象的指针。 符号*紧挨着类型名,强调这个声明语句定义的是一个指针

      string *ps1,*ps2; //强调对象是一个指针 

string*   ps1,ps2;  //把ps1定义为指针,ps2只是一个普通的string对象


一个有效的指针必然是三种状态之一:1.保存一个特定对象的地址;2.指向某个对象后面的另一个对象 3.0值,表示它不指向任何对象。

未初始化的指针是无效的,直到给该指针赋值后,才可以使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值