- 1、本文档共32页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章-函数-第3的讲-作用域生存期
第三讲生存期和作用域; 变量的作用域
一个变量能够起作用的程序范围。表现为变量有的可以在整个程序或其它程序中进行引用,有的则只能在局部范围内引用。;作用域及生存期; 定义
在函数内作定义说明的变量,也称为内部变量 。
作用域
仅限于函数内,离开函数后不可再引用。
生存期
从函数被调用的时刻到函数返回调用处的时刻(静态局部变量除外)。; 说明;(2) 形参变量属于被调用函数的局部变量;实参变量则属于调用函数的局部变量。
(3) 允许在不同的函数中使用相同的变量名,它们代表不同的对象,分配不同的单元,互不干扰,也不会发生混淆。 ;(4) 在复合语句中定义的变量也是局部变量,其作用域只在复合语句范围内。其生存期是从复合语句被执行的时刻到复合语句执行完毕的时刻。 ;作用域及生存期; 定义
在函数外部作定义说明的变量,也称为外部变量 。它不属于哪一个函数,而属于一个源程序文件。
作用域
从定义变量的位置开始到本源文件结束,及有extern说明的其它源文件。
生存期
与程序相同。即从程序开始执行到程序终止的这段时间内,全局变量都有效。 ; 说明;(3) 全局变量定义必须在所有的函数之外,且同一全局变量名只能定义一次,并可赋初值。全局变量定义的一般形式为: ;(4) 对全局变量进行说明,可扩展全局变量的作用域。全局变量说明的一般形式为: ;(5) 全局变量定义与全局变量的说明的区分 ;14;#includestdio.h
char color=‘B’;
void first ( );
void second ( );
int main ( )
{
printf (“color in main () is %c\n”, color);
first ();
printf (“color in main () is %c\n”, color);
second ();
printf (“color in main () is %c\n”, color);
return 0;
};存储类型;程序区
静态存储区
动态存储区;变量的存储类型 ;1、自动变量(auto型变量);外部变量和全局变量是对同一类变量的两种不同角度的提法。全局变量是从它的作用域提出的,外部变量从它的存储方式提出的,表示了它的生存期。它属于静态存储类型。 ; 静态变量与静态存储类型; 静态局部变量与自动变量比较; 静态局部变量若在定义时未赋初值,则系统自动赋初值0
静态局部变量赋初值只一次,而自动变量赋初值可能多次; 静态全局变量;4、寄存器变量(register型变量);26;27;(不做要求);1、内部函数;2、外部函数;31;32
文档评论(0)