【21天学通C++】第8章-阐述指针和引用

指针和引用

目的:

  1. 什么是指针
  2. 什么是自由存储区
  3. 如何使用运算符new 和 delete 分配和释放内存
  4. 如何使用指针和动态分配编写稳定的应用程序
  5. 什么是引用
  6. 指针和引用的区别
  7. 什么情况下使用指针,什么情况下使用引用

什么是指针

指针是存储内存地址的变量。就像int 变量用于存储整数数值一样,指针变量用于存储内存地址。

在这里插入图片描述
指针是一种指向内存单元的特殊变量。

声明指针

作为一种变量,指针与所有白能量一样,也需要声明:

// 声明int指针
int *pIntefer = NULL;

使用引用运算符(&)获取变量的地址

如果Varname 是一个变量,&Varname 将是存储变量的内存地址。

在这里插入图片描述
引用运算符(&)也叫地址运算符

使用指针存储地址

// 声明一个int 指针来存储变量Age的地址
int *pIntefer = &Age;

在这里插入图片描述

使用解除引用运算符(*)访问指向的数据

在这里插入图片描述
在这里插入图片描述
解除引用运算符(*)也叫间接运算符。

动态内存分配

使用new和delete动态地分配和释放内存

在这里插入图片描述
new表示请求分配内存,并不能保证分配总能得到满足,因为这取决于系统的状态以及内存资源的可用性。
使用new分配的内存最终都需要使用相应的delete进行释放。

在这里插入图片描述

将关键词const用于指针

  • 指针指向的数据为常量,不能修改,但可以修改指针包含的地址,即指针可以指向其他地方。

在这里插入图片描述

  • 指针包含的地址是常量,不能修改,但可修改指针指向的数据。

在这里插入图片描述

  • 指针包含的地址以及它指向的值都是常量,不能修改(这种组合最严格)。

在这里插入图片描述

将指针传递给函数

在这里插入图片描述

使用指针时常犯的编程错误

  1. 内存泄露–使用new动态分配的内存后,忘记使用配套的delete释放
  2. 指针指向无效的内存单元
  3. 悬浮指针

引用是什么

引用是变量的别名。声明引用时,需要将其初始化为一个变量,因此引用只是另一种访问相应变量存储的数据的方式。

在这里插入图片描述
Ref2是Original的别名,它们位于内存的同一个地方。

引用可以避免复制操作。

在这里插入图片描述
—更新—2024.7.17

二维数组

  1. 用一维数组输出二维数组的内容
    在这里插入图片描述

  2. memcpy()数组复制
    在这里插入图片描述

  3. 项目3

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值