人民邮电出版社:高等学校教材《C程序设计》课程教学资源(PPT课件)第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程序设计》课程教学资源(PPT课件)第1章 计算机基础知识.ppt
- 湖南科学技术出版社:高等教育21世纪课程《大学计算机基础》课程教学资源(教材PPT)第十章 信息系统安全与社会责任.ppt
- 湖南科学技术出版社:高等教育21世纪课程《大学计算机基础》课程教学资源(教材PPT)第九章 软件开发与信息处理技术.ppt
- 湖南科学技术出版社:高等教育21世纪课程《大学计算机基础》课程教学资源(教材PPT)第八章 Internet与Intranet.ppt
- 湖南科学技术出版社:高等教育21世纪课程《大学计算机基础》课程教学资源(教材PPT)第七章 计算机网络基础.ppt
- 湖南科学技术出版社:高等教育21世纪课程《大学计算机基础》课程教学资源(教材PPT)第六章 演示文稿制作基础.ppt
- 湖南科学技术出版社:高等教育21世纪课程《大学计算机基础》课程教学资源(教材PPT)第五章 表格处理基础.ppt
- 湖南科学技术出版社:高等教育21世纪课程《大学计算机基础》课程教学资源(教材PPT)第四章 文字处理基础.ppt
- 湖南科学技术出版社:高等教育21世纪课程《大学计算机基础》课程教学资源(教材PPT)第三章 操作系统基础.ppt
- 湖南科学技术出版社:高等教育21世纪课程《大学计算机基础》课程教学资源(教材PPT)第二章 数据的表示与运算.ppt
- 湖南科学技术出版社:高等教育21世纪课程《大学计算机基础》课程教学资源(教材PPT)第一章 计算机系统基础(张慈珍).ppt
- 《计算机系统安全》课程PPT教学课件:第十三章 TLS(SSL)协议.ppt
- 《计算机系统安全》课程PPT教学课件:第十二章 IP安全.ppt
- 《计算机系统安全》课程PPT教学课件:第十一章 入侵检测系统.ppt
- 《计算机系统安全》课程PPT教学课件:第十章 常用攻击手段(3/3)病毒的防治及应急处理.ppt
- 《计算机系统安全》课程PPT教学课件:第十章 常用攻击手段(2/3).ppt
- 《计算机系统安全》课程PPT教学课件:第十章 常用攻击手段(1/3).ppt
- 《计算机系统安全》课程PPT教学课件:第九章 防火墙.ppt
- 《计算机系统安全》课程PPT教学课件:第八章 访问控制.ppt
- 《计算机系统安全》课程PPT教学课件:第七章 身份认证.ppt
- 人民邮电出版社:高等学校教材《C程序设计》课程教学资源(PPT课件)第11章 结构体、联合体与枚举类型.ppt
- 人民邮电出版社:高等学校教材《C程序设计》课程教学资源(PPT课件)第12章 文件.ppt
- 人民邮电出版社:高等学校教材《C程序设计》课程教学资源(PPT课件)第13章 中断和位运算.ppt
- 人民邮电出版社:高等学校教材《C程序设计》课程教学资源(PPT课件)第15章 编译预处理.ppt
- 人民邮电出版社:高等学校教材《C程序设计》课程教学资源(PPT课件)第2章 程序设计基础知识.ppt
- 人民邮电出版社:高等学校教材《C程序设计》课程教学资源(PPT课件)第3章 C语言概述.ppt
- 人民邮电出版社:高等学校教材《C程序设计》课程教学资源(PPT课件)第4章 数据类型及表达式.ppt
- 人民邮电出版社:高等学校教材《C程序设计》课程教学资源(PPT课件)第5章 顺序结构程序设计.ppt
- 人民邮电出版社:高等学校教材《C程序设计》课程教学资源(PPT课件)第6章 选择结构程序设计.ppt
- 人民邮电出版社:高等学校教材《C程序设计》课程教学资源(PPT课件)第7章 循环结构程序设计.ppt
- 人民邮电出版社:高等学校教材《C程序设计》课程教学资源(PPT课件)第8章 函数.ppt
- 人民邮电出版社:高等学校教材《C程序设计》课程教学资源(PPT课件)第9章 数组.ppt
- 人民邮电出版社:高职高专现代信息技术系列教材《数据结构》课程电子教案(PPT课件讲稿)第一章 数据结构基础概论.ppt
- 人民邮电出版社:高职高专现代信息技术系列教材《数据结构》课程电子教案(PPT课件讲稿)第二章 线性表.ppt
- 人民邮电出版社:高职高专现代信息技术系列教材《数据结构》课程电子教案(PPT课件讲稿)第三章 栈和队列.ppt
- 人民邮电出版社:高职高专现代信息技术系列教材《数据结构》课程电子教案(PPT课件讲稿)第四章 串和数组.ppt
- 人民邮电出版社:高职高专现代信息技术系列教材《数据结构》课程电子教案(PPT课件讲稿)第五章 树和二叉树.ppt
- 人民邮电出版社:高职高专现代信息技术系列教材《数据结构》课程电子教案(PPT课件讲稿)第六章 图.ppt
- 人民邮电出版社:高职高专现代信息技术系列教材《数据结构》课程电子教案(PPT课件讲稿)第七章 查找.ppt
- 人民邮电出版社:高职高专现代信息技术系列教材《数据结构》课程电子教案(PPT课件讲稿)第八章 排序.ppt