7.1 什么是指针

指针是一种数据类型,指针与内存单元的地址密切相关。

 

内存由内存单元构成。

 

对于内存单元,需关注两个概念:

(1)内存单元的地址:即内存单元的编号。

注意:系统为方便管理内存空间,给每一个内存单元进行整数编号,将内存单元的编号称为内存单元的地址,用十六进制表示。

(2)内存单元的内容:存放在内存单元中的数据。

 

内存单元的直接访问与间接访问:

举个例子:用钥匙打开会议室的门。

如果我们有要是,则可直接打开会议室的门;如果我们没有钥匙,但知道钥匙存放的地点(如钥匙放在505办公室),那么我们会按照这个地址取出钥匙,同样可以打开会议室的门。这是一种直接访问和间接访问的思想。

  在C/C++语言中,每个变量都分配有确定的存储空间。使用变量名可直接访问内存中的数据。通过变量的地址也可间接访问内存中的数据。

 

地址与指针:

(1)定义一个变量,系统按变量类型为变量分配不同数目的内存单元,将其第一个内存单元的地址作为变量的地址。

(2)在C/C++中,允许定义一种特殊变量,用于存放某个变量的地址(该特殊变量的内存单元的内容是别的变量的内存地址)。

结论:我们将存放(别的变量的)“地址”的变量称为指针变量,这里的“地址”就是指针。因此,变量的地址就是变量的指针。

 

指针类型的主要用途:

(1)参数传递:指针作参数可以实现参数按引用传递的功能(即通过形参可以改变实参的值)。

(2)动态分配:利用动态分配可构建动态数组,动态数组需要借助指针实现。

(3)数据结构:创建可伸缩的数据结构,如链表、栈与队列、树和图等。

(4)多态处理:面向对象编程中“运行多态性”的处理是利用指针与引用实现的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值