c++ 指针、常量指针、指针常量、引用的简单介绍

28 篇文章 4 订阅

1、指针
指针可以在定义时初始化也可以在后续赋值。引用必须在定义时初始化。
int* ip,iq;//ip为指针类型,iq为整形变量
一个*只能修饰一个指针。

正确定义如下:
int* ip,*iq;
& 表示实体的地址,由于字面值不认为是具有空间地址的实体,所以不能进行&操作;
ip = &23;//错

2、指针运算:
数据类型的三要素:数据表示、范围表示、操作集合;
指针与整型虽然有相同的数据表示、相同的范围表示、但他们具有不同的操作。

3、指针限定:
指针的常量性分两种:指针常量、常量指针
指针常量:相对于指针变量而言,也就是指针地址不能修改的指针。

常量指针:指向常量的指针,指针的实体不能修改。

const int a=78;

int b=10;

int c =18;

const int* ip=&a;//const 修饰指向的实体类型——常量指针

int const* dp = &b;//等价于上一句——常量指针

int* const cp = &b;//指针常量

const int* const icp = &c;//常量指针常量
*ip = 87;  //错:常量指针不能修改指向的实体

ip = &c ;//对:常量指针可以修改指针值

*cp = 81; //对:指针常量可以修改指向的实体

cp = &b; //错:指针常量不能修改指针值,即使用同一个地址】

*icp = 33 ; //错:常量指针常量不能修改指向的实体

icp = &b ;//错:常量指针常量不能修改指针值

int d= * icp///正确

注意:const只是限定指针的操作,但不能限定空间上的实体的课改变性。因为一个实体可能不止被一个变量所关联,所以实体被其他关联的变量改变也是有可能的。

4、引用:

引用就是别名,引用定义时必须初始化。

引用的定义形式可以为以下几种:

int someInt = 5;

int& rInt = someInt;

int &rInt = someInt;

int & rInt = someInt;

引用的类型与实体的类型应该是严格一致的。

高级编程多用引用,低级编程多用指针。这主要是从安全因素着眼的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值