一个较大程序一般分为若干个程序模块.ppt

一个较大程序一般分为若干个程序模块.ppt

  1. 1、本文档共53页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
void sub(int a[10],int n) {int i,b; for(i=0;in/2;i++){b=a[i];a[i]=a[n-1-i]; a[n-1-i]=b;}} main() {int b[10]={0,1,2,3,4,5,6,7,8,9},m=10; sub(b,m); for(i=0;im;i++)printf(“%d”,b[i]); } 说明: 1、形参数组大小可以不指定 2、数组名做函数参数时,不是“值传送”,不是单向传递,而是“地址传递”。 三、用多维数组名作为函数参数 注意多维数组元素在内存中的存放顺序 §8.8 局部变量和全局变量 8.8.1 局部变量 在一个函数内部定义的变量是内部变量,它只在本函数范围内有效,也就是在本函数才能使用它们。如 float f1(int a ) {int b,c; a,b,c有效 ……} main() { float a,m,n; a,m,n有效 ……} 8.8.2 全局变量 程序的编译单位是源程序文件,一个源文件包含一个或若干个函数。在函数内 定义的变量是局部变量,而在函数之外定义的变量是外部变量,外部变量是全局变量。全局变量可以为本文件中其它函数所共用。它的有效范围为:从定义变量的位置开始到本源文件结束。 int a; main() {sub();printf(“%d\n”,a);} sub() {a=5;} 在第三行加上int a=3;后的结果如何? 在一个函数中既可使用局部变量,也可使用全局变量。 说明: (1)全局变量的作用是增加了函数间的数据联系的渠道。 (2)不在必要时不使用全局变量,原因有三。 (3)在同一源文件中,如全局变量与局部变量同名,以局部变量说明为准。 §8.9 变量的存贮类别 8.9.1 动态存贮方式与静态存贮方式 从变量作用域(空间角度): 从变量存在的时间(时间角度):静态和动态 静态存贮:是指在程序运行期间分配固定的方式 动态存贮:是指在程序运行期间根据需要进行动态的分配的方式 内存中供用户使用的存贮空间情况: 1、程序区 2、静态存贮区 3、动态存贮区 数据分别放在静态和动态存贮区中。 全局变量分配在静态区,程序开始执行时分配,执行完毕时释放。 动态存贮区存放: (1)函数形式参数 (2)自动变量 (3)函数调用时现场保护和返回地址等 局部变量是在函数调用时分配,要函数结束时释放这些空间 C中每一个变量和函数有两个属性:数据类型和存贮类别(在内存中的存贮方法) 存贮方法分为两类:静态和动态 具体可分为四种: (1)自动的auto (2) 静态的static (3)寄存器的register(4)外部的extern 8.9.2 auto变量 函数中的局部变量,不专门声明为static,则是动态分配存贮空间。函数中的形参和在函数中定义的变量。 函数被调用时才分配存贮空间,函数调用结束时释放空间。 int f(int a) { auto int b,c=3; :} 注:auto可省auto int b,c=3;相当于int b,c=3; 8.9.3 static声明局部变量 有时希望函数中的局部变量的值在函数调用结束后不消失保留,所占单元不释放。 f(int a) { auto int b=0; static int c=3; b=b+1;c=c+1; return(a+b+c);} main() {int a=2,i; for(i=0;i3;i++)printf(“%d”,f(a)); } 8.9.3 register变量 存 数 取 数 如果一个变量使用频繁,则将它放在寄存器中。 int fac(int n) { register int i,f=1; …..} 只有局部自动变量和形式参数可作为register变量 运 算 器 内 存 8.9.5 用extern声明外部变量 外部变量(即全局变量)是在函数之外定义的,它的作用域是从定义处起至本程序文件的末尾。编译时它放在静态存储区。 1、在一个文件内声明外部变量 2、在多个文件和程序中声明外部变量 8.9.6 用static声明外部变量 有时在程序设计中希望某些外部变量只限于被本文件引用,定义外部变量时加一个static声明 在不同文件中使用相同的外部变量名而不相互干扰,利于程序的模块化。 8.9.7 关于变量的声明和定义 定义:是需要申请存贮空间

文档评论(0)

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

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

1亿VIP精品文档

相关文档