c语言 数据描述与数据操作.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文档。上传文档
查看更多
c语言 数据描述与数据操作

2.3 变量的存储属性 一、变量的存储属性 4、变量存储属性的定义 变量定义的一般形式 存储类别标识符 auto(自动) register(寄存器) static(静态) extern(外部) 知 识 储 备 存储类别标识符 数据类型标识符 变量名表; 2.3 变量的存储属性 一、变量的存储属性 4、变量存储属性的定义 变量的存储属性小结 知 识 储 备 全局 局部或全局 局部 局部 作用域 永久存储 永久存储 动态存储 动态存储 生存期 静态存储区 静态存储区 动态存储区 寄存器 存储机构 extern static auto register 类别标识符 2.3 变量的存储属性 二、动态变量 1、自动变量: 存储空间的分配和释放: 注意 (1)在定义变量时,缺省存储类别标识符系统默认是自动变量; (2)自动变量是局部变量,只在定义它的那个局部范围内才起作用; 【示例】 知 识 储 备 用存储类别标识符auto定义的变量 在程序运行时分配,分配和释放由系统自动完成 【示例】 int main() { int x=1; { void prt (void); int x=3; prt(); printf(2nd x=%d\n,x); } printf(1nd x=%d\n,x); return 0; } void prt(void) { int x=5; printf(3nd x=%d\n,x); } 2.3 变量的存储属性 二、动态变量 1、自动变量 注意 (3)自动变量在赋值之前,它的值是不确定的; 【示例】 (4)对同一个函数的两次调用之间,自动变量的值不保留。这是因为,调用一次之后存储空间被释放,再调用时,又另分配了存储空间。 【示例】 知 识 储 备 【示例】 int main() { int x; printf(x=%d\n,x); return 0; } 【示例】 void count (int n); int main() { count(1); count(2); return 0; } void count(int n) { int x=1; printf(%d:x=%d,,n,x); x=x+2; printf(%d\n,x); } 2.3 变量的存储属性 二、动态变量 2、寄存器变量: 注意:寄存器变量也是动态变量,除存储机构与自动变量不同外,其它与自动变量都相同。 知 识 储 备 用标识符register定义的变量 想一想 思考2.5:前例函数count中,形参变量n的存储空间是如何变化的? 【示例】 void count (int n); int main() { count(1); count(2); return 0; } void count(int n) { int x=1; printf(%d:x=%d,,n,x); x=x+2; printf(%d\n,x); } 2.3 变量的存储属性 三、静态变量: 说明 (1)静态变量是在编译时为其分配存储空间的,所以,静态变量的生存周期是永久存储,即,存在于程序执行的全过程,直到程序执行结束; (2)静态变量的初始化是在编译时进行的,如果不显式为静态变量初始化,系统自动置静态变量的初值为0(整型)或0.0(实型); 【示例】 知 识 储 备 用标识符static定义的变量 【示例】 int main() { static int x = 3;//显式初始化 static int y; //未显式初始化 static float z; //未显式初始化 printf(x=%d,y=%d,z=%f\n,x,y,z); return 0; } 2.3 变量的存储属性 三、静态变量 说明 (3)在函数多次被调用的过程中,静态变量的值具有继承性,即本次调用的初值是上次调用结束时变量的值; 【示例】 (4)静态局部变量的作用域具有局部性,静态局部变量的值只能在本函数中使用,但生存周期是永久存储; 【示例】 知 识 储 备 【示例】 void increment(void); int main() { increment(); increment(); increment(); return 0; } void increment(void) { static int x=1; x=x+2; printf(%d\n,x); } 【示例】 void increment(void); int main() { int x=5; increment(); printf(1

文档评论(0)

badjka + 关注
文档贡献者

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

1亿VIP精品文档

相关文档