函数-c语言.ppt

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

本章目录 本章目录 本章目录 本章小结―关键字 本章小结―语法 本章小结―学习技巧 本章小结―学习技巧 本章小结―学习技巧 教学要求―学习要点 教学要求―知识点 版权信息 课间休息 专题目录 索引目录 补充材料 8.9.1 变量的存储类别 extern修饰将改变在F区域的变量为A区域的变量,它说明该变量的定义在本文件之外的文件,而本文件该变量有定义。例如: 假定有一个文件A.C: int a, b ; int who() { a = 101 ; } 现在有一个文件 B.C 需要使用 A.C 的a变量(F区域): extern int a; int dook() { a = 100 ; } a变量的作用域 a变量的作用域 延伸到B.C 中 8.9.1 变量的存储类别 例8-21 P177,extern外部变量将作用域扩展到其他程序文件。 8.9.1 变量的存储类别 extern修饰所声明的变量,没有分配实际的存储空间,它仅仅是“指明”变量是外部定义的。 在F区域定义的变量存储区域(数据区)对于多个文件是透明的,因而不能在多个文件的F区域定义相同名字的变量。 可以用static修饰将文件F区域的变量“私有化”,从而在多个文件的F区域定义相同名字的变量。 希望引用其他文件的F区域变量,在那个文件定义时不能有static修饰,在本文件中加上extern修饰。 8.9.1 变量的存储类别 8.9.2 变量的访问类别 一个变量可以定义访问类别。 1. “常量”型访问 语法 :const 类型标识符 变量标识符 示例 :const int a=10 , b=120 ; 注释 :指明所定义的变量只能是“只读的”。 const 修饰使得一个变量自定义后是“只读的”,而不能改变其值,本质上const 变量是在数据区。由于不能修改,const 变量一定要在定义时指定其值。 const 变量是变量,它有存储空间(保存在数据区中),而常量是一个数值,它没有存储空间,其编译结果体现为指令。 8.9.1 变量的存储类别 2. “常量”型访问 语法 :volatile 类型标识符 变量标识符 示例 :volatile int a=10 , b=120 ; 注释 :指明所定义的变量在程序中没有显式说明的改变,从而使得编译器不能对该变量做优化处理。 8.9.3 变量的初始化 8.9.3 变量的初始化 结合前面讲到的变量存储类别和访问类别,可以将变量的初始化总结如下: 1. 变量的初始化是由编译决定的 凡是在数据区内的变量均是由编译决定的。例如: int a=120; int doex(int x) { static int a=101; if (x) { static int a=555; } } 全局变量a初始值为100 静态变量a初始值为101 静态变量a初始值为555 8.9.3 变量的初始化 如果数据区内的变量没有初始化,那么编译器自动赋初值 0 (数值型变量)或空字符(字符变量)。例如: int a; int doex(int x) { static int a[100]; if (x) { static int a; } } 全局变量a初始值为0 静态数组a初始元素值为0 静态变量a初始值为0 8.9.3 变量的初始化 2. 变量的初始化是运行指令(赋值)得到的 凡是在堆栈区、堆区内的变量的初始化均是运行指令(赋值)得到的。例如: int doex(int x) { int a=101; int b; int c[10]={1,2,3,4}; } 凡是在堆栈区、堆区内的变量没有初始化,则其初始值不确定。 变量a定义且“赋值”初始值为101 变量b定义但未“赋值”初始值不确定 8.9.3 变量的初始化 例: int doguest() { static int a=10; int b=120; return ( (++a) + (++b) ) ; } main() { printf(“%d\n”,doguest()); printf(“%d\n”,doguest()); printf(“%d\n”,doguest()); } 8.9.3 变量的初始化 运行结果为: 1 2 3 4 5 6 7 8 9 0 1 2

文档评论(0)

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

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

1亿VIP精品文档

相关文档