第13讲 变量的存储类别.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据类型:指变量的名称、类型、取值范围和占据存贮空间的大小。如 整型,实型,字符型等。 1、 自动变量 用关键字auto作存储类型说明的局部变量(包括形参)称为自动变量。 变量的生存期为定义它的函数。 2、外部变量 用关键字extern作存储类型说明的变量称为外部变量。 外部变量与全局变量是对同一类变量的两种不同角度的提法。 全局变量是从作用域的角度,用来表示变量的作用范围,而外部变量是从变量是从存储类型的角度提出的,用来表示变量的生存期。 3、静态变量 用关键字static作存储类型说明的局部变量称为静态变量。 自动变量和静态局部变量区别: 4、寄存器变量   用关键字register作存储类型说明的局部变量。其作用是加快速度。(寄存器在CPU中,其余的变量存放在内存中)。 二、内部函数和外部函数 1、内部函数 如果一个函数只能被本文件中其它函数调用,它称为内部函数。 定义格式: static 类型标识符 函数名(形参表) 2、外部函数:可以被其它源程序调用的函数 定义格式: extern 类型标识符 函数名(形参表) 其中 extern 可以省略,前面所学的函数均为外部函数。 第13讲 变量的存储类型、内部和外部函数 一、变量的存储类型 1、自动变量 2、 静态变量 3、 寄存器变量 4、 外部变量 二、内部函数和外部函数 1、 内部函数 2、 外部函数 变量定义的一般形式:   存储类型 数据类型 变量名称; 说明:存储类型可以是 auto、static、register和extern。 一、变量的存储类型(方式) 对变量的定义需要给出下面两方面的属性: 存储类型:变量存在的时间(生存期)、作用范围和在硬件中存放的地点(区域)。 main( ) {   int x , y;  ······ } int hanshu( auto int a ) {  auto int b, c, d; ······ } C语言规定:在局部变量的定义中,可省略关键字auto。即:没有指明存储类别的变量,一律隐含为自动变量。例如: C语言规定: 1)对共用的外部变量可以在任一源文件中定义一次,其他源文件中用extern对其声明后,即可使用。 3)外部变量的声明可以有多次,其位置在定义点之前任意处,不需要分配存储空间。 4)外部变量的定义只有一次,其位置只能在函数外,并可对外部变量分配存储单元,初始化。 2)如果希望某些外部变量仅限于本文件使用,则在定义外部变量时前面加一个static说明。称为静态局部变量。 #include stdio.h int max( int a, int b ) { int c ; c=ab?a:b ; return c; } void main( ) { extern x, y ; /* 声明外部变量*/ printf(%d\n, max(x, y)); } int x=12, y=-8; /* 定义外部变量 */ 例1 外部变量使用举例 (在同一源文件内) 程运行结果: 12 注意:如果省略了主函数中的外部变量声明,程序将出现编译错误,违法了变量先定义后使用的规则。 // 文件1:f1.cpp #include stdio.h #include c:\user\f2.c int x; //定义外部变量 main( ) { int a=3,b=4; x=a; printf(%d\n, pow1(b) ); } 例2 外部变量使用举例(在两个文件中) 求 ab。 // 文件2:f2.c extern int x; /*声明外部变量*/ int pow1(int n) { int i,y=1; for(i=1;i=n;i++) y=y*X; return y; } 程运行结果: 81 int hanshu(int a ) {  static int b, c, d; ······ } 静态变量存放在静态存储区,一旦为其分配了存储单元,它们在整个程序执行期间将固定地占用这些存储单元。即:变量的生存期为整个程序。 #include stdio.h void f (int n) { auto int s=10; //auto可省略 s=s+1; p

文档评论(0)

dart001 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档