C语言程序设计案例教程第7章 指针-【中职专业课】同步教学课件
2022-09-22
|
8页
|
104人阅读
|
0人下载
普通
内容正文:
C语言程序设计案例教程第7章 指针
第 7章
指针
指 针 是 C 语 言 中 一 类 非 常 重 要 的 数 据 类 型 ,是 C 语 言 中 的 重 要 概 念 。指 针 的 应 用 为 函 数
间各类型数据(特别是复杂类型的数据)的传递提供了简洁的方法,可以提高程序的执行效
率。另外,有些其他数据类型无法或很难实现的操作,都可以利用指针来完成。指针的概念
比 较 复 杂 , 使 用 也 灵 活 , 难 于 掌 握 。 要 学 好 C 语 言 , 必 须 很 好 地 学 习 指 针 。
7.1 指 针 的 定 义 与 应 用
7.1.1 指 针 概 述
在计算机内,数据均存储在存储器内,存放一个字节数据的存储器叫一个存储单元。为
了便于管理,系统按顺序为每个存储单元进行编号,每个存储单元都具有自己的唯一编号,
这个编号就是该存储单元在内存中的地址。当在程序中定义一个变量时,系统就在内存中为
该变量分配一个大小合适的存储空间,所需要的空间大小由变量的类型而定,例如,一个整
型 数 组 n[ 5] 占 有 2 × 5 个 字 节 。
在变量定义完成后,变量就在内存中具有了一个唯一的存储空间,变量都存储在有确定
地址的存储单元中,变量在内存中具有唯一的地址。对变量的访问,实质就是对变量存储空
间的内容进行访问。由于各种变量在内存中所占的存储空间大小不一样,为了便于对变量地
址的访问,将变量存储单元的起始地址定义为变量的地址。这样,就可以用另一种方法来访
问 变 量 内 容 , 即 不 通 过 变 量 名 , 而 是 通 过 对 变 量 在 内 存 中 的 地 址 进 行 访 问 。 因 为 在 C 语 言 中
存储单元的地址被称为指针,因此这种访问就是指针访问。
变量存储空间、变量地址与变量内容的关系就好像是信箱、信箱号码与信件,可以将内
存单元看成一个个信箱,存储单元的地址就是信箱的号码,在定义变量时意思就是“将某号
码信箱分配给某人使用”,而 变 量 的 内 容 就 相 当 于 是 信 箱 内 的 信 件 ,在 给 变 量 进 行 赋 值 时 相 当
于“ 将 某 某 信 件 放 到 某 号 码 信 箱 ”。指 针 就 是 存 储 单 元 的 地 址 ,是 一 个 常 量 ,将 它 保 存 在 一 个
特殊的变量中,这个变量就叫做指针变量。为了叙述方便,常将指针变量简称为指针。
在 C 语 言 中 , 通 常 可 以 直 接 通 过 变 量 名 对 变 量 内 容 进 行 访 问 , 而 无 需 知 道 变 量 在 内 存 中
的地址,系统会自动将访问转换为对内存单元的访问,这种通过变量名来对变量存储单元进
和访问的方式称为“直接访问” 另外,还支持对变量的内存单元进行“间接访问” 这种访。。
问允许将变量的地址赋给另一个特殊的变量,程序中可以利用这个特殊的变量来访问变量的
内 存 单 元 , 这 个 特 殊 变 量 称 为 指 针 。 在 图 7 1 1 中 给 出 了 使 用 指 针 进 行 “ 间 接 访 问 ” 的 图 示 。
图 7 1 1
变量的间接访问
其 中 , 变 量 n 是 一 个 i nt 型 变 量 , 它 占 有 两 个 存 储 单 元 , 变 量 n 的 地 址 为 这 两 个 存 储 单
元 的 首 地 址 6 5 52 4, 量 n 的 值 为 1 00 。 针 变 量 p oi nt 是 一 个 指 针 , 本 身 存 储 在 地 址 为 1 00 0变指它
172
的 存 储 单 元 中 ,指 针 变 量 p oi nt 的 内 容 为 变 量 n 的 地 址 6 5 52 4 。在 这 种 情 况 下 要 对 变 量 n 进 行
访 问 , 可 以 从 指 针 变 量 p oi nt 中 获 得 变 量 n 的 地 址 6 55 2 4 , 再 通 过 该 地 址 6 5 52 4 进 行 访 问 。
不 同 数 据 类 型 的 变 量 占 用 的 存 储 单 元 个 数 是 不 一 样 的 , 指 针 poi nt 正 是 依 据 它 的 数 据 类
型 来 确 定 变 量 n 占 有 多 少 个 存 储 单 元 。例 如 ,变 量 n 是 一 个 i nt 型 变 量 ,因 此 可 以 将 p oi nt 定
义 为 一 个 i nt 型 指 针 ,这 样 ,在 使 用 指 针 p oi nt 访 问 变 量 n 时 ,程 序 就 知 道 所 要 访 问 的 是 一 个
i nt 型 变 量 , i nt 型 变 量 占 有 两 个 存 储 单
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。