- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C 语言程序设计 C语言变量的两个属性: 数据类型:如int、float、char等。 数据的存储类别:静态存储和动态存储。具体包含四种: auto 自动的, static 静态的, register 寄存器的, extern 外部的。 ?局部变量的存储方式 ?函数中的局部变量,如不做专门的说明,都是在动态存储区分配存储空间。这类局部变量称为自动变量,可用关键字auto作存储类型说明。如: int f(a) int a; {auto int b,c=3; ? } auto可以省略,系 统按自动类型处理 ?用static说明局部变量,称为局部静态变量,在静态存储区分配存储空间。在调用函数结束后,其占据的存储单元不释放,下一次调用该函数,其值为上一次调用结束时的值。 例: f(a) 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)); } 0 3 b c 1 4 0 1 5 0 第一次 调用开始 第一次 调用结束 第二次 调用开始 第二次 调用结束 第三次 调用开始 1 6 第三次 调用结束 运行结果为:7 ,8 ,9 在编译时 赋值只执 行一次。 对局部静态变量的几点说明: ?局部静态变量属于静态存储类别,在静态存储区内分配存储单元。 ?对局部静态变量是在编译时赋初值,以后调用函数时不再重新赋初值。而自动变量是在函数调用时才赋初值,每调用一次函数重新赋一次初值。 ?定义局部变量如不赋初值,则对静态局部变量,系统在编译时自动赋初值0或空字符(\0)。对自动局部变量,它的值是一个不确定的值。 ?局部静态变量在函数调用结束后依然存在,但其它函数不能引用它。 ?寄存器变量:将局部变量的值放在运算器中的寄存器中,需要时直接从寄存器取出参与运算。用关键字register作说明。例如: 例: int fac(n) int n; {register int i,f=1; for (i=1;i=n;i++) f=f*i; return(f); } main() {int i; for (i=1;i=5;i++) printf(%d!=%d\n,i,fac(i)); } 定义寄存器变量i,f。 注:?只有局部自动变量和形式 参数可以作为寄存器变量。 ?寄存器数目是有限的。 ?Turbo C对寄存器变量当作 自动变量处理。 ?不能对寄存器变量进行取地 址运算。 结果:1!=1 2!=2 3!=6 4!=24 5!=120 ?全局变量的存储方式 全局变量在编译时分配在静态存储区。 一个C语言程序可以由一个或多个源程序文件组成。如果程序由一个源文件组成,则全局变量可以为程序中各个函数所引用。如果由多个源程序文件组成,则分为两种情况: ?允许其它文件中的函数引用,但应在需要引用它的文件中,对引用变量用extern作说明。例如: extern int a; power(int n) {int i,y=1; for (i=1;i=n;i++) y*=a; return(y); } file1.c int a; main() {int power(); int b=3,c,d,m; printf (enter the number a and its power:\n); scanf (%d, %d, a, m); c=a*b; printf (%d*%d=%d , a, b, c); d=power(m); printf (%d**%d=%d,a,m,d); } file2.c ?只被本文件中的函数引用。在定义外部变量时前面加一个static说明。例如: file1.c file2.c static int a; main() { ? } extern int a; fun(n) int n; { ? a=a*n; ? } 不能使用 a变量。 九、内部函数和外部函数 ?内部函数 如果一个函数只能被本文件中其它函数所调用,称为内部函数。(也称静态函数) 定义格式为: static 类型标识符 函数名(形参表)
您可能关注的文档
最近下载
- 2025至2030全球及中国普拉提和瑜伽馆行业市场深度研究及发展前景投资可行性分析报告.docx VIP
- 极速60秒.ppt VIP
- 中国宠物行业白皮书.doc VIP
- 项目插花艺术-全校公选课.doc VIP
- 极速60秒的图片.ppt VIP
- 展频IC规格书之 SSDCI1108AF _REV3.1.pdf VIP
- 2024 CCF非专业级别软件能力认证(CSP-S)第一轮真题.pdf VIP
- TCFNA6104-2022 食品安全-月桂叶(香叶).pdf VIP
- 人美版(2024)小学美术一年级上册《欢快流畅的线》教学设计 .pdf VIP
- 三水平立井多绳摩擦式提升机提升钢丝绳更换安全技术措施:.doc VIP
文档评论(0)