老九C++零基础学习(九)指针和引用

本文围绕C++的指针、引用及指针运算展开。介绍了指针地址赋值方法,强调避免野指针需初始化,还提及void指针的特性。阐述了引用比指针更高效,且对比了指针和引用、数组与指针。最后说明了指针运算可移位,但使用完要销毁。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

9.2 指针

在这里插入图片描述
在这里插入图片描述
补充地址赋值方法:

double* ptr_num = &num

在这里插入图片描述
使用中 *ptr 是取ptr这个指针指向的值

举例:
在这里插入图片描述
注意!
如果是char 类型指针,会出错:
在这里插入图片描述
例如

char* str = "我真帅!"  //char*表示字符串

所以这是实际是把&num的地址当做字符串赋给了ptr_num,打印的时候也是将地址按照字符串打印了出来,所以会出错。
在打印时候在前面添加(void *),就可以按照地址方式打出:
在这里插入图片描述

9.4 常见指针类型

避免野指针
在这里插入图片描述
如果没有初始值,这就是个野指针,如果指向系统关键的内存空间,进行修改可能会崩溃,所以一定要进行初始化:
在这里插入图片描述
这时候指针指向0,表示空指针。

void 指针*
在这里插入图片描述
因为类型不能确定,所以不能用指针访问或修改地址的值,只能用于比较地址。

9.5 引用

在这里插入图片描述
类似于指针,但是比指针更高效,效果如下:
在这里插入图片描述
引用不能指向常量,但是常量引用方法可以,如:

const int& refint = 100;

指针和引用对比:
在这里插入图片描述
数组与指针
在这里插入图片描述
区别:
在这里插入图片描述
看起来数组名和指针相同,但是数组名表示的是数组,指针表示地址是四个字节表示的,用sizeof()时就可以看得出来了。

9.6 指针运算

在这里插入图片描述
指针的移位:
在这里插入图片描述
在这里插入图片描述
指针可以继续+或-,指向其他地址进行访问或修改。
所以指针用完了一定要销毁,太危险了。

小结
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值