网站大量收购独家精品文档,联系QQ:2885784924

linux文件操作.ppt

  1. 1、本文档共42页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
linux文件操作详解

extern用法 在别的文件中定义的变量,要想在本文件中使用,必须先用extern声明,例如:extern a;之后就当成在本文件中定义的变量一样使用 外部变量(即全局变量)是在函数的外部定义的,它的作用域为从变量定义处开始,到本程序文件的末尾。如果外部变量不在文件的开头定义,其有效的作用范围只限于定义处到文件终了。如果在定义点之前的函数想引用该外部变量,则应该在引用之前用关键字extern对该变量作“外部变量声明”。表示该变量是一个已经定义的外部变量。有了此声明,就可以从“声明”处起,合法地使用该外部变量。 static static 类型声明符在C语言里面主要有三个用途: 1、声明静态局部变量 2、声明静态外部全局变量 3、声明静态外部函数 静态局部变量(与auto对比) 1、?存储空间分配、作用域和生存期 static分配在静态存储区,作用域仅仅限于声明该变量的函数内部。在程序整个运行期间都不释放,生存期贯穿于程序运行的整个过程。 auto类型分配在栈上,属于动态存储类别,占动态存储区空间,作用域仅仅限于声明该变量的函数内部。函数调用结束后自动释放,生存期不过是在声明该变量的函数内部。 2、赋初值时的处理方式 static静态局部变量在编译时赋初值,即只赋初值一次; auto自动变量赋初值是在函数调用时进行,每调用一次函数重新给一次初值,相当于执行一次赋值语句。 3、未赋初值时的处理方式 如果在定义局部变量时不赋初值的话: static静态局部变量,编译时自动赋初值0(对数值型变量)或空字符(对字符变量)。 auto自动变量,如果不赋初值则它的值是一个不确定的值。 int fun (void); int main (void) { ? int x; ? x=fun();?? ? printf( First transfer function a is %d\n, x);?? ? x=fun(); ? printf( Second transfer function a is %d\n, x); ? x=fun(); ? printf( Third transfer function a is %d\n, x); ? return 0;?? } int fun (void) { ? int a=0; ? a+=100; ? return a; } 程序结果为: ? First transfer function a is 100 ? Second transfer function a is 100 ? Third transfer function a is 100 那么我们稍稍做下修改,将fun中的a定义成static int fun函数如下: int fun (void) { ? static int a=0; ? a+=100; ? return a; } int fun (void); int main (void) { ? int x; ? x=fun();?? ? printf( First transfer function a is %d\n, x);?? ? x=fun(); ? printf( Second transfer function a is %d\n, x); ? x=fun(); ? printf( Third transfer function a is %d\n, x); return 0;?? } int fun (void) { ? static int a=0; ? a+=100; ? return a; } 程序执行结果: ? First transfer function a is 100 ? Second transfer function a is 200 ? Third transfer function a is 300 ? 静态外部全局变量 在C语言中static还用来声明静态外部全局变量,那么这个全局变量的作用域就被限制在本文件内部。 外部变量(即全局变量)是在函数的外部定义的,它的作用域为从变量定义处开始,到本程序文件的末尾。如果外部变量不在文件的开头定义,其有效的作用范围只限于定义处到文件终了。如果在定义点之前的函数想引用该外部变量,则应该在引用之前用关键字extern对该变量作“外部变量声明”。表示该变量是一个已经定义的外部变量。有了此声明,就可以从“声明”处起,合法地使用该外部变量。 static int a; int fun (void); void fun2(int y); int main (void) { ? int x; ? fun2(100); ? x=fun();

文档评论(0)

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

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

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档