模块之间的的数据传递.pdf

  1. 1、本文档共31页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
模块之间的的数据传递

模块之间的数据传递 主 讲:唐郑熠 学 院:信息科学与工程学院 内容提要  参数传递  函数返回值  传递结构体  动态内存分配 变量的作用域  C语言中的存储类型分为:auto、register、 static、extern,  在函数内部定义的变量称为局部变量,在函数 外部定的变量称为全局变量  全局变量具有全局作用域,只需在一个源文件 中定义,就可以作用于所有的源文件 (需用 extern声明)  静态全局变量只能在定义的源文件内部使用, 不能被其它源文件使用 变量的作用域  局部变量默认为auto,具有局部作用域,只在 定义的函数内部有效,在函数执行时分配空间 ,函数执行结束后即失效,且所占空间被回收  静态局部变量具有局部作用域,只在定义的函 数内部有效,但只被初始化一次,且在程序运 行过程中始终存在  register只能修饰局部变量,与auto型的局部变 量的唯一区别在于所占空间的区域不同 全局变量  不同的函数之间可以通过全局变量传递数据 int a[10]; void fun_1() { int i; for(i=0; i10; i++) { scanf(“%d”, a[i]); } } void fun_2() { int i, s; s = 0; for(i=0; i10; i++) { s += a[i]; } } 全局变量  不同的函数之间可以通过全局变量传递数据  这种方法的缺点是会降低模块本身的独立性, 提高模块之间的耦合性 参数传递  函数的参数传递有两类:传值和传址  实际上,传址传的是地址值  函数定义时的参数称为形参,函数调用时的参 数称为实参  实参有实际值,形参在被调用时接收实参的值  参数的传递时单向的:实参 形参 参数传递  传值 a b void fun (int a, float b) 1 1 { …… } int main() 1 2.5 { int a = 1; float b = 2.5; 1 2.5 fun(a, b) } a b 参数传递  传址 void fun(int *p, float *q) p q { …… } a b int main() a b { int a = 1; float b = 2.5; fun(a, b)

文档评论(0)

liwenhua00 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档