c++第四天(补充引用的定义)

22 篇文章 2 订阅

1、当指针指向一个变量,指针解引用后++,指向的变量也++。

例如: int b=10; int *p = &b; (*p)++; // 相当于b++;

指针和引用的区别:

2、指针是一个变量,存储的是变量的地址,引用是取变量别名。

3、指针可以指向空,但引用定义时必须初始化 。

4、指针在初始化之后可以改变指向,引用在初始化之后不可再修改 。

5、sizeof()指针得到的是本指针的大小,sizeof()引用得到的是引用所指向变量的大小。

6、当把指针作为参数进行传递时,也是将实参的一个拷贝传递给形参,两者指向的地址相同,但不是同一个变量,在函数中改变这个变量的指向不影响实参,而引用却可以 。

7、引用本质是一个指针常量,同样会占8字节内存;指针是具体变量,需要占用存储空间。

8、不存在指向空值的引用,必须有指向值;但是存在指向空值的指针 。

9、注:"引用"的本质是 "常量指针":int *const p;  //指向的地址不能修改。常量指针本质上是一个指针,常量表示指针指向的内容,说明该指针指向一个“常量”。在常量指针中,指针指向的内容是不可改变的,指针看起来好像指向了一个常量。

例子: int a = 2, b = 4;  const int *p = &a;    //等价于int const*p=&a; 

p = &b; // 指针可以指向其他地址,地址可以改变,内容不可改变。

10、int const *p = 10 ; //指针常量,指向的变量不能修改,在指针常量中,指针自身的值是一个常量,指针变量不允许修改。在定义的同时必须初始化。

例子: int *const a=5;

或 int a,b; int * const p=&a ; //定义的同时初始化

// p=&b; //操作错误

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值