C语言中用户标识符的

C语言中用户标识符的

ID:36394080

大小:391.60 KB

页数:97页

时间:2019-05-09

C语言中用户标识符的_第1页
C语言中用户标识符的_第2页
C语言中用户标识符的_第3页
C语言中用户标识符的_第4页
C语言中用户标识符的_第5页
资源描述:

《C语言中用户标识符的》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第十二章C语言中用户标识符的作用域和存储类知识点1:局部变量与全局变量1.局部变量又称内部变量。全局变量又称外部变量。2.在函数内部或复合语句内部定义的变量称局部变量,形参也是局部变量,其作用域从定义的位置开始到本函数或本复合语句结束。3.在函数外部定义的变量称全局变量,其作用域从定义的位置开始到本源文件结束。4.在同一个源文件中不同函数中的局部变量可以同名,不同复合语句中的局部变量可以同名。15.在同一个源文件中,全局变量可以和局部变量同名,局部变量将屏蔽同名全局变量。6.在函数体外进行的函数原型说明也使该函数具有全局的性质,其有效范围是从说明处起到源文件结束。例如:inta

2、;intf(intx,inty){intj;j=a;…}main(){intx,y;x=a;…}2知识点2:变量的存储类别1.C语言中,有两种存储类别:一种是自动类,一种是静态类。2.局部变量既可以说明成自动类,也可以说明成静态类。全局变量只能是静态类。3.存储类别有关的说明符:auto(自动)、register(寄存器)、static(静态)和extern(外部)。4.存储类别说明符的说明形式:通常与类型名一起出现,可以放在类型名左边或右边。例如:autointi,j;也可写成intautoi,j;3知识点3:局部变量及其作用域和生存期1.auto变量当在函数内部或复合语句内

3、定义变量时,如果没有指定存储类或使用了auto说明符,系统就认为所定义的变量具有自动类别。因此,floata;等价于autofloata;auto变量的存储单元被分配在内存的动态存储区。每当进入函数体(或复合语句)时,系统自动为auto变量分配存储单元。退出时自动释放这些存储单元。因此,这类局部变量的作用域是从定义的位置起,到函数体(或复合语句)结束为止。4例如:sub(floata){inti;…if(i>0){intn;…printf(“%d”,n);}…}这里,变量i,a,n都是auto变量。但i和a的作用域是整个sub函数;而n的作用域仅限于if子名内。5生存期:所

4、有自动类局部变量的存储单元都是在进入这些局部变量所在的函数体(或复合语句)时生成,退出其所在的函数体(或复合语句)时消失。2.register变量寄存器变量也是自动类变量。它与auto变量的区别仅在于:用register变量是将变量的值保留在CPU的寄存器中,而不是象一般变量那样,占内存单元。特点:程序运行速度快,因为访问寄存器比访问内存快。注意:(1)CPU中寄存器的数目有限,只能说明少量寄存器变量。(2)register变量的值存放在寄存器中,因此不能对register变量进行求地址运算。6例:以下函数power用以计算xnmain(){ints;s=power(5,3);

5、printf(“%d”,s);}power(intx,registerintn){registerintp;for(p=1;n;n--)p=p*x;returnp;}73.静态存储类的当在函数体(或复合语句)内部,用static来说明一个变量时,可以称该变量为静态局部变量。静态局部变量作用域与auto,register类的变量一样。区别(1)在整个程序运行期间,静态局部变量在内存的静态存储区中占所着永久性的存储单元。即使退出函数以后,下次再进入该函数时,静态局部变量仍使用原来的存储单元。由于并不释放这些存储单元,因此这些存储单元中的值得以保留,由此可知,静态局部变量的生存期

6、将一直延长到程序运行结束。8(2)静态局部变量的初值是在编译时赋予的,在程序执行期间不再赋予初值。对未赋初值的静态局部变量,C编译程序自动给它赋初值0.例:以下程序输出结果intx=3;main(){inti;for(i=1;i

7、域是从变量定义的位置开始,到整个源文件结束止。例如:intsum;main(){…sum++;…}intfun1(){…sum++;…}inttest;intfun2(){…sum++;test=1;…}10全局变量的生存期是整个程序的运行期间。若全局变量和某一函数中的局部变量同名,则在该函数中,此全局变量被屏蔽,在该函数内访问的是局部变量。例:有以下程序inta=3;main(){ints=0;{inta=5;s+=a++;}s+=a++;printf(“%d”,s);}程序运结果A.

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。