高等学校教材:《C程序设计》第10章 指针

第10章 指针 7
第10章 指针

指针是C语言中一个十分重要的概念。 指针的引入极大地丰富了C语言的功能, 利用指针可以直接对内存中各种不同类型 的数据进行快速访问,可以有效地表示、 访问复杂的数据结构,可以方便灵活地在 函数间传递数据,可以提高某些程序的执 行效率,实现对底层硬件的访问。 7
指针是C语言中一个十分重要的概念。 指针的引入极大地丰富了C语言的功能, 利用指针可以直接对内存中各种不同类型 的数据进行快速访问,可以有效地表示、 访问复杂的数据结构,可以方便灵活地在 函数间传递数据,可以提高某些程序的执 行效率,实现对底层硬件的访问

10.1指针的基本概念 102指针变量 103数组的指针 104函数的指针和返回指针值的函数 10.5指针数组与指向指针的指针 7
10.1 指针的基本概念 10.2 指 针 变 量 10.3 数组的指针 10.4 函数的指针和返回指针值的函数 10.5 指针数组与指向指针的指针

101指针的基本概念 10.1.1变量的直接访问和间接访问 变量是程序中数据所占存储单元的符号。程 序在编译时,系统会根据变量定义的数据类型为 其分配相应的内存单元,用于存放变量的具体数 据。不同类型的变量所分配的内存单元的长度是 不一样的。通常,将变量所分配内存单元的首地买 址(即变量所分配的低字节地址)称为变量的地 址。另外,系统还产生一张“变量名、地址对应 关系表”,用来记录变量名与地址之间的关系, 每一个变量名对应一个地址。在程序中使用变量 ,就是通过“变量名、地址对应关系表”所记录 的变量地址来访问相应的内存单元,变量的值就 是内存单元的内容
10.1 指针的基本概念 10.1.1 变量的直接访问和间接访问 变量是程序中数据所占存储单元的符号。程 序在编译时,系统会根据变量定义的数据类型为 其分配相应的内存单元,用于存放变量的具体数 据。不同类型的变量所分配的内存单元的长度是 不一样的。通常,将变量所分配内存单元的首地 址(即变量所分配的低字节地址)称为变量的地 址。另外,系统还产生一张“变量名、地址对应 关系表” ,用来记录变量名与地址之间的关系, 每一个变量名对应一个地址。在程序中使用变量 ,就是通过“变量名、地址对应关系表”所记录 的变量地址来访问相应的内存单元,变量的值就 是内存单元的内容

通过变量地址可以找到该变量所占的存储单元, 因此可以说变量地址“指向”变量的存储单元。这 种直接按照变量地址访问变量的方式称为“直接访 问”,如图102所。 685_ 4000H bF---285-1400X 5000H p=-±0 5002H 7 图102变量访问方式示意图
通过变量地址可以找到该变量所占的存储单元, 因此可以说变量地址“指向”变量的存储单元。这 种直接按照变量地址访问变量的方式称为“直接访 问” ,如图10.2所示内存 。 …… a 685 4000H b 785 4002H …… p 4000H …… 5000H 5002H 图10.2 变量访问方式示意图

这种把变量地址存放在一个特殊变量中, 然后通过访问特殊变量的值(地址),再由 此地址找到最终要访问的变量的方法,称为 “间接访问”。 7
这种把变量地址存放在一个特殊变量中, 然后通过访问特殊变量的值(地址),再由 此地址找到最终要访问的变量的方法,称为 “间接访问”

1012指针与指针变量 变量的地址称为变量的指针,例如,&a的值称 为变量a的指针。 专门用来存放其他变量地址的特殊变量称为指 针变量。为了访问p所指向的变量a,通过指向运算 符“”来实现对变量的间接访问。例如, p=685; 当p指向a时,等价于“a=685;” 7
10.1.2 指针与指针变量 变量的地址称为变量的指针,例如,&a的值称 为变量a的指针。 专门用来存放其他变量地址的特殊变量称为指 针变量。为了访问p所指向的变量a,通过指向运算 符“*”来实现对变量a的间接访问。例如, *p=685; 当p指向a时,等价于“a=685;

定义另外一种特殊类型的变量。这种特殊 的变量专门用来存放其他变量的地址。例如 ntp p=&a; p=685; 定义了一个特殊变量p,假设它代表地址 5002H指向的内存单元,在该内存单元中存放了 变量a的地址 7
定义另外一种特殊类型的变量。这种特殊 的变量专门用来存放其他变量的地址。例如: int *p; p=&a; *p=685; 定义了一个特殊变量p,假设它代表地址 5002H指向的内存单元,在该内存单元中存放了 变量a的地址

102指针变量 10.21指针变量的类型和指针变量指向变量的关系 1.指针变量的定义 类型标识符*指针变量名; 其中类型标识符表示指针变量所指向数据的 类型,又称为指针变量的基类型。基类型可以是 整型、实型、字符型、数组、结构体等各种数据 类型。“※”为指针变量的定义符,表示定义的是 一个指针变量,而指针变量名本身不包含“÷” 7
10.2 指 针 变 量 10.2.1 指针变量的类型和指针变量指向变量的关系 1.指针变量的定义 类型标识符 *指针变量名; 其中类型标识符表示指针变量所指向数据的 类型,又称为指针变量的基类型。基类型可以是 整型、实型、字符型、数组、结构体等各种数据 类型。“*”为指针变量的定义符,表示定义的是 一个指针变量,而指针变量名本身不包含“*

2.指针变量的初始化 (1)在定义的同时进行初始化。 例如: int a: int*p=&a (2)赋值语句进行初始化。 例如: int a int p; p=&a 7
2.指针变量的初始化 (1)在定义的同时进行初始化。 例如: int a; int *p=&a; (2)赋值语句进行初始化。 例如: int a; int *p; p=&a;
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 高等学校教材:《C程序设计》第1章 计算机基础知识.ppt
- 高等学校教材:《C程序设计》第9章 数组.ppt
- 高等学校教材:《C程序设计》第8章 函数.ppt
- 高等学校教材:《C程序设计》第7章 循环结构程序设计.ppt
- 高等学校教材:《C程序设计》第6章 选择结构程序设计.ppt
- 高等学校教材:《C程序设计》第5章 顺序结构程序设计.ppt
- 高等学校教材:《C程序设计》第4章 数据类型及表达式.ppt
- 高等学校教材:《C程序设计》第3章 C语言概述.ppt
- 高等学校教材:《C程序设计》第2章 程序设计基础知识.ppt
- 高等学校教材:《C程序设计》第15章 编译预处理.ppt
- 高等学校教材:《C程序设计》第13章 中断和位运算.ppt
- 高等学校教材:《C程序设计》第12章 文件.ppt
- 高等学校教材:《C程序设计》第11章 结构体、联合体与枚举类型.ppt
- 萨特的:《存在与虚无》PDF电子书(共六章).pdf
- 《多媒体CAI课件设计与制作》第1章 多媒体课件设计.ppt
- 《多媒体CAI课件设计与制作》第9章 OLE对象的链接与嵌入.ppt
- 《多媒体CAI课件设计与制作》第8章 库和模块的使用.ppt
- 《多媒体CAI课件设计与制作》第7章 使用变量、函数、表达式和脚本语句.ppt
- 《多媒体CAI课件设计与制作》第6章 课件的流程控制.ppt
- 《多媒体CAI课件设计与制作》第5章 多媒体课件中的交互.ppt
- 《调查数据》PPT课件.xls
- 《Excel图表制作》课程教学课件(PPT讲稿).ppt
- 《空气洁净技术》第4章 空气过滤器.ppt
- 内蒙古医学院第一附属医院妇产科:《妇产科学》妊娠合并心脏病.ppt
- 内蒙古医学院附属医院:《妇产科学》异常分娩(杨有莲).ppt
- 内蒙古医学院第一附属医院妇产科:《妇产科学》胎姿势 胎产式.ppt
- 中南大学:《大学自治——当代中国高等教育体制创新的哲学阐释》课程教学课件(PPT讲稿).ppt
- 《航空电子设备》PDF电子书(共十四章).pdf
- 《钢结构正常使用极限状态》课程教学课件(PPT讲稿).ppt
- 《拉弯和压弯构件的计算长度》课程教学课件(PPT讲稿).ppt
- 《气-固相催化反应宏观动力学》课程教学课件(PPT讲稿).ppt
- 《演示文稿 powerpointz制作》课程教学课件(PPT讲稿).ppt
- 东北财经大学:《投资项目评估学》三峡.ppt
- 东北财经大学:《投资项目评估学》第一章 导论.ppt
- 东北财经大学:《投资项目评估学》第十章 环境保护与环境影响评估.ppt
- 东北财经大学:《投资项目评估学》建设项目估算总投资表.doc
- 东北财经大学:《投资项目评估学》流动资金的估算.doc
- 东北财经大学:《投资项目评估学》第十一章 项目投资估算与评估.ppt
- 东北财经大学:《投资项目评估学》第十二章 项目筹资与融资方案评估(无内容).ppt
- 东北财经大学:《投资项目评估学》三峡工程投资分析.ppt