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

第6章作用域规则和编译预处理命令简介.ppt

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

第6章 作用域规则和 编译预处理命令简介 6.1 局部变量和全局变量 6.2 存储类 6.3 变量定义 6.4 编译预处理命令简介 6.1 局部变量和全局变量 局部变量说明 全局变量 全局变量说明 全局变量【例1】 全局变量【例2】 6.2 存储类 6.2 存储类-自动变量 auto 6.2 存储类-静态变量 static 6.2 存储类-静态变量 【例1】 6.2 存储类-静态变量 【例2】 6.2 存储类-外部变量 extern 6.2 存储类-寄存器变量 register 6.2 存储类-小结 6.3 变量定义 - 变量定义 6.3 变量定义-变量说明 6.4 编译预处理命令简介 6.4.1 宏定义 6.4.1 宏定义-例 二、带形式参数的宏定义 宏定义与函数调用的区别 宏定义例 6.4.2 文件包含 6.4.2 文件包含 - 【例】计算am * *计算机系基础教研室 局部变量 在一个函数内(包括主函数main)或复合语句内定义的变量称为局部变量。局部变量只有在定义这些变量的函数或复合语句内才能使用它们,而在其他的函数或复合语句中不能使用这些变量。 例:void swap (int a, int b) { int temp; /* 定义局部变量 */ if(ab) { /* int temp; */ temp=a; a=b; b=temp; } } } 主函数main中定义的变量也只有在主函数中有效,即其他函数不能使用主函数中定义的变量。 不同函数中可以使用相同名字的变量,由于它们在内存中占不同的单元,所以代表不同的对象。 形式参数也是局部变量,只有在定义形参的函数中才能使用。 复合语句中定义的变量,只有在本复合语句中有效,离开复合语句后就不能使用。 在函数之外定义的变量称为全局变量。有效范围是从定义变量的开始到源程序的结束。 例:int p=1, q=5; float f1(int a) { … } char c1,c2; char f2(int x,int y) { … } void main ( ) { … } 在main函数和f2函数中可以使用全局变量p、q、c1和c2; 但在f1函数中只能使用全局变量p和q,而不能使用c1和c2。 设置全局变量可增加函数之间数据的联系,因为在C语言中参数传递是值的传递。 如果全局变量在文件开始处(所有函数前)就定义,则所有函数都能使用这些全局变量。 如果全局变量不在文件开始处就定义,那么只有以下的函数才能使用这些全局变量。如果在定义点前面的函数也想使用,则可在该函数中用关键字extern作“全局变量外部说明”。 如果全局变量与局部变量同名,则全局变量暂不起作用。 #include stdio.h int max (int x, int y) { int z; z = xy ? x : y; return z; } void main ( ) { extern int a, b; /* 全局变量外部说明 */ printf (%d\n, max (a,b)); } int a = 10, b = 5; /* 全局变量定义 */ 运行结果: 10 #include stdio.h int a =3, b=5; /* a 和 b 为全局变量 */ int max (int a, int b) /* 形参 a 和 b 为局部变量 */ { int c; c = ab ? a : b; return c; } void main ( ) { int a = 8; /* a 为局部变量 */ printf (%d\n, max (a,b)); /* a = 8, b = 5 */ } 运行结果: 8 变量具有可见性和

文档评论(0)

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

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

1亿VIP精品文档

相关文档