- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8讲 数组函数和变量类型
计算机与信息工程分院 第8讲 函数(2) ----数组函数和变量类型 主要内容 1.数组作为函数参数 数组元素作函数实参 数组名作函数参数 用多维数组名作函数参数 例8-1 数组元素作为函数实参举例说明(1) 例8-1 数组元素作为函数实参举例说明(2) 例8-1 数组元素作为函数实参举例说明(3) 例8-2 数组名作函数参数举例说明1 例8-3 数组名作函数参数举例说明2 说明(1) 用数组名与用数组元素名作函数参数不同点: 说明(2) 2) 用普通变量或下标变量作函数参数时,形参变量和实参变量是由编译系统分配的两个不同的内存单元。在函数调用时发生的 值传送 是把实参变量的值赋予形参变量。 用数组名作函数参数时,不是进行值的传送,即不是把实参数组的每一个元素的值都赋予形参数组的各个元素。因为实际上形参数组并不存在,编译系统不为形参数组分配内存。那么,数据的传送是如何实现的呢?我们曾介绍过,数组名就是数组的首地址。因此在数组名作函数参数时所进行的传送是 地址传送 ,就是把实参数组的首地址赋予形参数组名。形参数组名取得该首地址之后,也就等于有了实在的数组。实际上形参数组和实参数组是同一数组,共同拥有一段内存空间。 说明(3) 例8-4 数组名作函数参数举例说明3(1) 例8-4 数组名作函数参数举例说明3(2) 例8-4 数组名作函数参数举例说明3(3) 用多维数组名作函数参数的说明 例8-5 用多维数组名作函数参数举例(1) 例8-5 用多维数组名作函数参数举例(2) 2.局部变量和全局变量 局部变量 在一个函数内部定义的 变量是内部变量,只在本函数 范围内有效。 全局变量 全局变量可以为本文件中其他函数所共用。其有效范围为从定义变量的位置开始到本源文件结束。 说 明 对于前四点的图形说明 有关全局变量的图示说明 几点说明 例8-6 全局变量使用举例(1) 例8-6 全局变量使用举例(2) 例8-7 外部变量与内部变量同名举例 3.变量的存储类型(1) 3.1 动态存储和静态存储方式 3.2 auto变量 3.3 用static声明局部变量 3.4 register变量 3.5 用extern声明外部变量 3.6 用static声明外部变量 3.7 关于变量的声明和定义 3.8 存储类别小结 3.变量的存储类型(2) 3.1 动态存储方式与静态存储方式(1) 定义 1)静态存储方式是指在程序运行期间分配固定的存储空间的方式。 2)动态存储方式是在程序运行期间根据需要进行动态的分配存储空间的方式。 从内存中供用户使用的存储空间的情况来分析存储方式 存储空间分为三部分: 1)程序区 2)静态存储区 3)动态存储区 3.变量的存储类型(3) 3.1 动态存储方式与静态存储方式(2) 3.变量的存储类型(4) 3.2 auto变量(1) 3.变量的存储类型(5) 3.2 auto变量(2) 3.变量的存储类型(6) 3.3 用static声明局部变量 3.变量的存储类型(7) 3.4 register 变量 3.变量的存储类型(8) 3.5 用extern声明外部变量 3.变量的存储类型(9) 3.6 用static声明外部变量 3.变量的存储类型(10) 3.7关于变量声明和定义的说明(1) 3.变量的存储类型(11) 3.7关于变量声明和定义(2) 3.变量的存储类型(12) 3.8 存储类别小结 4.内部函数与外部函数 例8-13 用extern声明所用的函数(1) 例8-13 用extern声明所用的函数(2) 例8-13 用extern声明所用的函数(3) 5.如何运行一个多文件的程序 用Turbo C集成环境 在MS C上运行编译连接 用#include 命令 用 Turbo C集成环境(1) 用Turbo C集成环境(2) 用#include 命令 作业 思考题 变量的存储类别 上机实验六 说明(1) 说明(2) 例8-8 考察静态局部变量的值(1) 例8-8 考察静态局部变量的值(2) 例8-9 打印1到5的阶乘 关于register变量使用说明 例8-10 使用寄存器变量 例8-11 用extern声明外部变量,扩展程序文件中的作用域 例8-12 用extern将外部变量的作用域扩展到其他文件 变量所在的函数在调用结束后,该变量所占用的存储单元不释放,在下一次该函数调用时,该变量已有值,就是上一次函数调用结束时的值。 例题8-8 考察静态局部变量的值 说明 例题8-9 打印1到5的阶乘 如果有一些变量使用频繁,则为存取变量的值要花不少时间。为提高执行效率,C语言允许将局部变量的值放在C
您可能关注的文档
最近下载
- 《旅行社经营与管理》课件 第一章 旅行社概述.ppt VIP
- 人教版八年级数学上册分式的加减法练习题精选47.doc VIP
- 最新【人教版】三年级数学上册教科书电子版教学课本(2025年秋-新教材版本).docx
- 【精选】申银万国行业分类标准(2014版).pdf VIP
- 3500个常用汉字整理完整.doc VIP
- 农村狗狗交配的全过程,让你看了有点不可置信.pdf VIP
- 2023——2024学年度第一学期北师大版小学数学一年级上册教学计划附教学进度表.docx VIP
- 新北师大版四年级数学上册第四单元《买文具》课件14.ppt VIP
- 8.2 掌握自驾游计调业务 课件《旅行社计调业务》(中国言实出版社).pptx VIP
- 申银万国行业分类.pdf VIP
文档评论(0)