第7~8讲 第4章 变量存储类型.ppt

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

C语言丰富的数据类型 回顾; C语言中整型变量用关键字int定义。 可以用long和short来修饰int,表示长整型和短整型。 用signed和unsigned来修饰int,表示带符号整型和无符号整型。 例: int a, b, c; unsigned int a, b, c; unsigned short a; long sum; ;变量数据类型决定了相关的存储空间大小! 但程序内部变量能否同名?系统如何分配管理这些变量的存储空间?系统何时将内存分配给变量?何时注销掉?存放的数据保留到何时? 这些问题将在第4章“变量的存储类型”中分析。;第4章 变量的存储类型;4.1 概述(变量作用域、数据类型、存储类型);变量作用域:局部或全局 全局变量:在函数外定义的变量称为外部变量,又称为“全局变量”。作用域为定义或声明处(extern声明)到文件结束. 方便各函数间数据共享.一直占据着分配的数据存储空间. 局部变量:在一个函数内部或复合语句内部定义的变量叫内部变量,又称为“局部变量”。作用域为定义处到函数或复合语句结束. 不同函数或复合语句中可定义同名的变量,它们分配不同存储地址,彼此互不影响。与全局变量同名时注意采用本复合语句内定义的变量。 ;#include stdio.h int sum; //全局变量定义 void main( ) { int x=5; //main()函数中局部变量 sum=100; printf(x=%d\t,sum); if(x0) { int x=10; //复合语句内局部变量 printf(x=%d\t,x); } printf(x=%d\n,x+2); };变量存储类型:决定变量所需的存储空间位置以及管理方式. 变量存储类型说明关键字: auto 自动型 static 静态型 register 寄存器型 extern 外部参照型声明 动态存储变量:在程序运行期间进行临时性动态分配存储空间的变量. auto型局部变量、register变量. 静态存储变量:在程序运行期间永久性占用内存的变量,变量值在程序执行中系统只进行一次初始化, 由程序指令操作改变. 全局变量和static局部变量都是静态存储类型.;程序使用内存区域分类: 程序代码区: 程序的指令代码存放在程序代码区。 静态存储区: 静态存储变量存放区,包括全局变量和static型局部变量,变量值一次初始化(隐式初始化为0或空字符),永久供程序操作。 动态存储区: 存放局部自动变量、函数的形参以及函数调用时的现场保护和返回地址等,系统动态分配。;4.2 自动型变量[auto] ;if (x!=y) { int i ; //局部变量,作用域为复合语句内 for (i = 0 ; i 10 ; i++) { int j ; //复合语句中局部变量,作用域为复合语句内 …… } } 在条件判断后的那个复合语句中定义了一个自动型int变 量i,在for循环后的那个复合语句中定义了一个自动型int 变量 j 。;例4.1 #include stdio.h void main( ) { int x=5; //auto缺省……….(1) printf(x=%d\t,x); if(x0) { int x=10; //if()语句内部局部变量(2) printf(x=%d\t,x); } printf(x=%d\n,x+2); } 运行结果: x=5 x=10 x=7;例4.2 #includestdio.h void fun( ) { int a = 0; //局部auto变量 printf( af = %d\n,++a); } void main( ) { int a = 10 ; //局部auto变量 fun( ); printf( a = %d\n,++a); fun(

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档