免费预览已结束,剩余20页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第十章指针 第十章指针 10 1指针概述10 2数组与指针10 3指向指针的指针10 4指针变量作函数参数10 5返回指针值的函数和指向函数的指针10 6实战练习 本章学习内容 10 1 1地址与指针 将存储器的一个字节作为一个内存单元 整型占4个字节 所以整型数据占4个内存单元 字符型占1个字节 所以字符型数据占1个内存单元 为每个内存单元编号 根据编号就可以准确找到该内存单元 这个编号就称为地址 将内存比作一个旅馆 内存单元比作旅馆中的房间 那么地址就好比房间的门牌号 指针是一种变量类型 这种变量专门用来存放地址 10 1 1地址与指针 例如 inti 2 10 1 2变量与指针 变量的地址是变量与指针二者之间连接的纽带指针是指向一个变量的地址 一个变量的地址称为该变量的指针存放变量地址的变量就是指针变量指针类型是专门用来存放内存单元地址的变量类型 10 1 3指针变量 1 一般形式 类型说明符 变量名 表示该变量是一个指针变量变量名是指针变量名类型说明符表示该指针变量所指向的数据类型int p char cp 10 1 3指针变量 2 指针变量的赋值 指针变量在使用前必须先赋值指针变量的值只能是地址 不能是其他数据类型地址运算符 10 1 3指针变量 3 指针变量的引用解引用运算符 可以对指针变量解引用 获得指针变量所指向的值解引用形式 指针变量 例如 inta 6 int p 10 1 3指针变量 4 p等价于p a等价于a 10 1 4指针自加自减运算 10 2 1一维数组与指针 数组的所有元素都存放在一段连续的内存中 如果把数据的首地址赋给指针变量 就可以通过指针变量遍历整个数组 一维数组与指针当定义一个数组时 系统会在内存中为数组分配一段连续的内存空间 数组名就是这段内存空间的首地址 将数组首地址赋给一个指针变量 这个指针就指向一个一维数组 通过这个指针变量就可以引用数组中的每个元素 10 2 1一维数组与指针 例如 int p a 5 p a a是数组名 也是数组的首地址p指向数组ap等价于 a 0 p n就等价于 a n 10 2 1一维数组与指针 注意1 引用数组的方法有两种 假设a为数组名 p指向a的首地址 1 下标法 a i 表示数组a的第i个元素 2 指针法 a i 或 p i 2 p 合法 a 不合法 因为a是数组首地址 它是一个常量3 p 等价于 p 先执行 p的运算 再执行p 10 2 2二维数组与指针 a m n 表示元素a m n 的地址 a n 表示第n行的首地址 10 2 3字符串与指针 字符串的访问有两种方式 1 将字符串看作字符数组 通过数组下标操作字符串 2 将字符串首地址看作字符指针 使用字符指针操作字符串 char str hello 10 2 4字符串数组 字符串数组是以字符串为元素的数组 可以将其看作是二维字符数组charfruit 5 20 apple banana orange peach strawberry 使用指针数组代替二维字符数组 减少内存的浪费 每个数组元素都是一个指针 指向一个字符串 定义形式为 类型名 数组名 数组长度 10 3指向指针的指针 一个指针可以指向整型变量 字符变量 当然也可以指向指针变量 用一个指针变量a存放另一个指针变量的地址 称指针变量a为指向指针的指针变量 指向指针的指针变量定义形式 类型说明符 指针变量名 例如 int p 10 4指针变量作函数参数 函数的参数类型可以是任何合法的c语言类型 指针变量也可以作为函数参数 1 形参为整数变量的交换 10 4指针变量作函数参数 2 形参为指针变量的交换 3 c语言中实参和形参之间的数据传递是单向的 值传递 方式 指针变量作为函数参数时也是如此 被调用函数中不可能通过改变形参指针变量的值来改变实参指针变量的值 但可以通过改变形参指针变量指向的值来间接改变实参指针变量指向的值 10 5返回指针的函数和指向函数的指针 函数返回值可以是任意合法的c语言数据类型 所以函数返回值也可以是指针类型类型说明符 函数名 参数列表 例如 int fun intx inty 10 5返回指针的函数和指向函数的指针 除了有返回指针的函数之外 还有指向函数的指针 函数在编译时会被分配一个入口地址 这个入口地址就称为函数的地址 将该函数地址赋给一个函数指针变量 该指针变量就可以指向这个函数 定义形式 类型说明符 指针名 参数列表 10 5返回指针的函数和指向函数的指针 例如 intfunc intx inty int p intx inty p就是函数指针 p func 函数指针p指向函数func 调用方式 函数指针名 实参列表 例如 p x y 等价于func x y 10 5返回指针的函数和指向函数的指针 注意 1 定义了函数指针 需要将某个函数地址赋给该函数指针 然后才能通过函数指针调用函数 2 将一个函数地址赋给函数指针时 该函数的特征必须与函数指针定义时相同 否则编译出错 函数特征是指函数的参数列表个数 类型 返回值类型 10 6实战练习
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 颈椎脊髓损伤治疗课件
- 2026年代理人资格模拟试卷(含答案)
- 2026年核酸采集理论模拟试题(含答案)
- 2026年南通预防接种模拟题及答案详解
- 会计基础第一章总论习题及答案详解
- 2026年审核岗位考试模拟题目及答案详解
- 2026年日立电梯考试模拟题及答案详解
- 2026年负数加减法模拟试题(含答案)
- 青龙满族自治县尤尼克新能源有限公司介绍企业发展分析报告模板
- 2026年湖北联考模拟试题(含答案)
- T/CSEA 49-2025微弧氧化陶瓷层
- 2026秋学期小学科普版英语四年级上册(新教材)教学计划含教学进度表
- 2026年高考化学试题(湖南卷)+答案
- 综合与实践 周长与面积的变化 课件(共21张) 苏教版数学四年级上册
- 6.1 友谊的真谛 课件(共24张)+内嵌视频
- 腰部运动康复课件
- 火力发电厂作业指导书
- 心电图机操作考核评分标准
- T∕CEA 0065-2025 电梯轿厢用空调
- 2026年精麻药品培训考试题题库及答案(完整版)
- 二次函数配方题目及答案
评论
0/150
提交评论