1 / 54
文档名称:

C语言基础.ppt

格式:ppt   大小:898KB   页数:54
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

C语言基础.ppt

上传人:s1188831 2017/7/19 文件大小:898 KB

下载得到文件列表

C语言基础.ppt

相关文档

文档介绍

文档介绍:计算机技术基础
——C程序设计
信息科学与工程学院
19 七月 2017
第八章函数
C程序设计第十讲

C程序设计第十讲
自动变量的作用域仅限于定义该变量的个体内。在函数中定义的自动变量,只在该函数内有效。
自动变量属于动态存储方式,只有在使用它,即定义该变量的函数被调用时才给它分配存储单元,开始它的生存期。
函数调用结束,释放存储单元,结束生存期。
因此函数调用结束之后,自动变量的值不能保留。
由于自动变量的作用域和生存期都局限于定义它的个体内( 函数或复合语句内), 不同的个体中允许使用同名的变量而不会混淆。
自动变量具有以下特点:

C程序设计第十讲
register变量
存放在CPU寄存器中,存取速度快
寄存器变量只能动态分配存储空间(寄存器)
只有自动变量和形参可以作为寄存器变量
举例
int foo(int x)
{
register int i; /* 定义寄存器变量i */
for(i=0; i<10000; i++)... /* i用于循环变量*/
}

C程序设计第十讲
外部变量的类型说明符为extern。
外部变量和全局变量是对同一类变量两种不同角度的提法。
全局变量是从它的作用域提出的,表示了它的作用范围。
外部变量从它的存储方式提出的,表示了它的生存期。
当一个源程序由若干个源文件组成时,在一个源文件中定义的外部变量在其它的源文件中也有效。
外部变量

C程序设计第十讲
静态变量的类型说明符是static。
静态变量当然是属于静态存储方式,但是属于静态存储方式的量不一定就是静态变量。
例如外部变量虽属于静态存储方式,但不一定是静态变量,必须由static加以定义后才能成为静态外部变量,或称静态全局变量。
自动变量属于动态存储方式,但也可以用static定义它为静态自动变量,或称静态局部变量,从而成为静态存储方式。
由此看来,变量可由static进行再说明,并改变其原有的存储方式。
静态变量

C程序设计第十讲
在局部变量说明前加上static说明符就构成静态局部变量。
1. 静态局部变量
例如:
static int a,b;
static float array[5]={1,2,3,4,5};
静态局部变量属于静态存储方式,它具有以下特点:
(1) 静态局部变量在函数内定义,但不象自动变量那样,当调用时就存在,退出函数时就消失。
静态局部变量始终存在着,它的生存期为整个源程序。

C程序设计第十讲
(2) 静态局部变量的生存期虽然为整个源程序,但是其作用域仍与自动变量相同,即只能在定义该变量的函数内使用该变量。退出该函数后,尽管该变量还继续存在,但不能使用它。
(3) 基本类型的静态局部变量若在说明时未赋以初值,则系统自动赋予0值。而对自动变量不赋初值,则其值是不定的。

C程序设计第十讲
int f(int a)
{
int b=0;
static int c=3;
b++; c++;
return a+b+c;
}
void main()
{
int x=2, i;
for(i=0;i<3;i++)
printf("%d\n",f(x));
}
i
0
x
2
a
2
b
0
c
3
f(x)
-
1
2
1
4
5
6
7
8
9

C程序设计第十讲
全局变量的说明之前再冠以static就构成了静态全局变量。
全局变量本身就是静态存储方式,静态全局变量当然也是静态存储方式。这两者在存储方式上并无不同。
这两者的区别:
当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的。
而静态全局变量则限制了其作用域,即只在定义该变量的源文件内有效,在同一源程序的其它源文件中不能使用它。

最近更新

食盐健康指导建议书 5页

风电场工程设计建议书 5页

预警财政风险审计建议书 5页

心理疾病护理团队协作模式 37页

2024年海南软件职业技术学院马克思主义基本原.. 12页

恐惧症患者的心理支持系统 26页

2024年湖北大学知行学院马克思主义基本原理概.. 12页

2024年湖南司法警官职业学院马克思主义基本原.. 13页

2024年湖南金融技术职工大学马克思主义基本原.. 13页

2024年漾濞县招教考试备考题库含答案解析(夺.. 30页

2024年烟台汽车工程职业学院马克思主义基本原.. 13页

2024年琼结县幼儿园教师招教考试备考题库附答.. 30页

2024年白银希望职业技术学院马克思主义基本原.. 12页

2024年石家庄职工大学马克思主义基本原理概论.. 12页

2024年福州工商学院马克思主义基本原理概论期.. 13页

2024年罗平县幼儿园教师招教考试备考题库含答.. 30页

2024年苍南县招教考试备考题库带答案解析(夺.. 30页

2024年莲花县幼儿园教师招教考试备考题库带答.. 30页

2024年衡山县幼儿园教师招教考试备考题库及答.. 30页

2024年象州县幼儿园教师招教考试备考题库及答.. 31页

2024年贵阳幼儿师范高等专科学校马克思主义基.. 13页

2024年辽宁对外经贸学院马克思主义基本原理概.. 12页

2024年逊克县招教考试备考题库附答案解析(夺.. 31页

2024年邵阳工业职业技术学院马克思主义基本原.. 13页

2024年鄂城钢铁厂职工大学马克思主义基本原理.. 13页

2024年重庆科创职业学院马克思主义基本原理概.. 12页

2024年长春职工大学马克思主义基本原理概论期.. 13页

2024年雷波县幼儿园教师招教考试备考题库及答.. 31页

2024年高邑县幼儿园教师招教考试备考题库附答.. 30页

2024年黑水县幼儿园教师招教考试备考题库附答.. 31页