- 1、本文档共33页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机程序设计基础 刘宝林 清华大学计算机系 函数间的参数传递 在函数被调用时才给形参分配存储单元。实参可以是 常量、变量或表达式,实参类型必须与形参相符,传 递时是传递参数值,即单向传递 数组作为参数时的情况: 数组元素作实参 与单个变量一样,数组元素可以作为表达式 的组成部分; 数组名作函数参数 数组名代表地址,因此传递的是一个地址值。 void main( ) { int a[10]; : f(a); : } int f(int x[10]) { : } 说明 1. 应该在主调函数和被调用函数中分别定义数组。 2. 实、形参数组类型要一致,如不一致,结果将出错。 3. 实参数组与形参数组的大小可以一样,也可以不 一样,C编 译系统对形参数组的大小不作检查,只是将实参数组的首地 址传递给形参数组。如果要求形参数组得到实参数组的全部 元素值,则应指定实参数组与形参数组的大小一样。 4. 数组名作函数参数时,不是值传递,不是单向传递, 而是把实 参数组的首地址传递给形参数组,这样两个数组就共占同一 段内存单元。 变量的存储类别 auto 自动的 存放在动态存储区中。属一时性存储,其存储空间可以 被若干变量多次覆盖使用。 static 静态的 存放在内存静态存储区中 register 寄存器的 存放在CPU的通用寄存器中 extern 外部的 局部变量的存储方式 对函数中的局部变量,如果未加static说明的,都是动态分 配存储空间的,存储在动态存储区中,这类局部变量称为自动变 量,用auto说明。 int f(int a) /* 定义函数f和形参a */ { auto int b,c; /* 定义b,c为自动变量 */ b=2;c=3; } 用static加以说明的变量称为局部静态变量。在函数调用结 束后,其占用的存储单元不释放,变量的值不消失而保留原来的 值。 不同类型变量的初始化 1. auto和register变量若被初始化,则每当进入该程序块后, 都执行该变量的初始化赋值功能。 2. 没有进行初始化的auto和register变量,其初值不定,不能 直接在程序中使用。 3. static和全局变量若不初始化,自动赋0。 4. static和全局变量初始化时必须用常量为其赋初值, auto和 register变量初始化时可以用常量或变量赋初值。 5. static型局部变量的初始化仅执行一次。 6. extern型的变量不能进行初始化。 内部函数和外部函数 内部函数 只能被本文件中其它函数所调用 定义形式: static 类型标识符 函数名(形参表) 不同文件中同名内部函数互不干扰 外部函数 可以为其它文件调用 定义形式:extern 类型标识符 函数名(形参表) extern缺省时隐含为外部函数 调用文件中要用extern说明所用函数为外部函数 小结 本章内容 数组作为函数的参数 变量的存储类型及作用范围 不同类型变量的初始化 内部函数和外部函数 复习要求 掌握数组作为函数的参数的使用方法 掌握变量的存储类型及作用范围 掌握不同类型变量的初始化 掌握内部函数和外部函数 * 计算机程序设计基础 清华大学计算机 刘宝林 * 数组作为函数的参数 变量的存储类型及作用范围 不同类型变量的初始化 内部函数和外部函数 第八讲 函数 计算机软件技术基础 计算机软件技术基础 计算机软件技术基础 例1 比较数组的大小 比较的原则如下: 若A数组中的元素大于B数组中相应元素的数目多于B数组中 元素大于A数组中相应元素的数目,则认为A数组大于B数组 如 a[i]b[i] 8次,b[i]a[i] 3次,则A数组大于B数组 #include “stdio.h” void main( ) { int large(int,int); int a[10],b[10],i,n=0,m=0,k=0; printf(enter array a:\n);
您可能关注的文档
- PROE野火3创建工程零件特征实例.ppt
- 教学理论与方法2010-201101(第一章1节).ppt
- (广州版)五年级英语下册课件 Module 5 Unit 14(2).ppt
- 弯曲变形概念题解.ppt
- 博士伦西安讲课幻灯.ppt
- 做一个知性的女人.ppt
- Q1puma整季度陈列指引.ppt
- 大学计算机基础-第2章 WINDOWS7操作系统.ppt
- 物流师(资质)培训课程-仓储管理.ppt
- 《电子商务客户服务》课程解析(201007).ppt
- 河南省郑州市第一中学2017-2018学年高一下学期周测物理试题(325)扫描版含答案.doc
- 山西省怀仁县第一中学2017-2018学年高二下学期第一次月考生物试题扫描版.doc
- 河南省六市高三下学期第一次联考试题(3月)理科综合扫描版含答案.doc
- 四川省高三全国Ⅲ卷冲刺演练(一)文综地理试卷扫描版含答案.doc
- 河南省洛阳市高三第二次统考文综试卷扫描版含答案.doc
- 甘肃省靖远县高三下学期第二次联考理科综合试题扫描版含答案.doc
- 问题导学法在办公场景中的实施策略及效果评估.docx
- 退休后的个人品牌打造与传播策略.docx
- 问题解决在办公流程优化中的应用.docx
- 问题导向的办公环境创新设计.docx
文档评论(0)