- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
讲义10-1
变量说明的地方 由于C语言的程序是由多个并列的函数构成的,因此,变量的声明不是在函数的内部就是在函数的外部。 具体讲,变量可以在程序文件的四个地方: 在一个函数内部(函数体的首部) 在一个函数内的复合语句中 在函数的参数部分出现 在所有函数的外部 前三种情况称为局部变量,后一种称为全局变量 局部变量 任何局部变量只作用于声明它的局部。当超出其范围时,变量没有任何意义。 在不同的局部可以有相同名字的变量,但表示不同变量,互不干扰。 for(int I=0; I10;I++) { } 其中 I 也属于局部变量。其它例子见p168,p169 全局变量 全局变量位于所有函数外部,但只能从定义处到文件尾起作用(要真正全局,应在文件首部定义); 函数对全局变量值的修改都是有效的。 全局变量的使用可以加强函数间的联系,但却降低了可读性和模块的独立性,因此建议: 尽量少使用全局变量,函数间的联系通过参数实现; 当全局变量与局部变量同名时,局部变量起作用,屏蔽全局变量(这具有相对形,即复合语句的也优先于函数整体的)。 例子 C 语言的存储区及其意义 三中存储区: 程序存储区; 静态存储区(全局变量、静态变量); 动态存储区(局部变量、函数调用的环境); auto 变量与 static 变量 变量除具有数据类型外,还具有存储类型,C语言提供了4种存储类型,在变量声明时,说明如下: [存储类型] 类型标识符 变量列表; 存储类型: auto/static/register/extern static 规定的局部变量在整个程序运行期间作为静态存储区处理;即使所属的函数退出运行。此外,其初始值只在第一次起作用。若没有初始化,则自动初始化为0。此外,局部变量仍然只能在局部使用(见p174-175例子)。 auto变量若是局部的,则属于动态存储区,且只局限于局部使用。若无初始化,则初始值不确定。此外,如果变量类型标识符没有任何修饰,则默认为auto(p174)。 register变量 意义:提高变量值存取的速度 使用规定: 局部变量/形式参数 由于寄存器数目有限,定义太多,不一定会真正作为寄存器变量使用 局部静态变量不能作为寄存器变量 extern 声明的外部变量 外部变量是全局变量,但若全局变量的声明在使用该命令之后,则需要在使用前用外部说明,但不必加类型标识符(见pp 177 例子)。 通常所说的全局变量是对变量所在的程序文件起作用;但由于一个程序可能分割为多个文件,想在多个程序文件内都起作用,需要定义外部变量extern(pp177-178) 外部静态变量的作用:只在声明该变量的文件内起作用,并保持为静态的,在其它文件即使有 extern 修饰,也不作为 extern 见 p178-179。 存储类型小结 P180-182 内部函数 只能由同一个文件内的函数使用的函数称为内部函数。内部函数前可以加上静态存储类型,以防止其它文件的函数使用,这样,也可以避免不同文件的相同函数名出现混乱: static 类型标识符 函数名(形参) 外部函数 可以为外部文件使用(同一个程序); 在使用的文件中,用 extern 说明函数 在定义函数本身时,不必加上 extern 任何定义的函数只要没有加static存储类型符,都隐含为 extern 类型。 例子见p183 多文件程序 VC++ 的编译连接 Include 的作用 宏:include 包含文件(p194) 意义:将一个文件插入到当前文件指定的位置 格式: #include “文件名” #include 文件名 双引号表示先在当前目录查找,找不到时再到标准库函数处查找,尖括号只到库函数处查找 include 可以有嵌套结构(p196图),但不要对一个文件包含多次! #include 命令称为宏/预处理命令(注意概念) * * 程序区 静态区 动态区 数据取 *
您可能关注的文档
- 讨论心得.doc
- 让一线呼唤炮火.docx
- 让人望文生义的成语2.doc
- 让你大开眼界的全牛宴.doc
- 让你在京城享受到异国风味的好吃料理,温暖你的身体:高恩韩国料理.docx
- 让你的文章以理服人.ppt
- 让你越吃越丰满de丰胸料理.doc
- 让兴趣之花在数学课堂上绽放.doc
- 让十二句话镌刻进你的生命中.doc
- 让学生在引领中健康成长.doc
- 7 《超高层建筑施工中基于风致振动控制的结构稳定性分析与提升》教学研究课题报告.docx
- 生成式AI在小学英语阅读教学中的个性化辅导策略教学研究课题报告.docx
- 5 九州环保行业环保产业绿色制造技术发展现状与趋势教学研究课题报告.docx
- 新媒体环境下高中生信息素养教育课程设计与实践教学研究课题报告.docx
- 《VOCs治理中的生物酶技术及其在环保领域的应用》教学研究课题报告.docx
- 八、建筑行业:建筑设计与建筑文化的传承与创新教学研究课题报告.docx
- 初中生物项目式学习在生物遗传学研究中的应用与效果评价教学研究课题报告.docx
- 初中化学中化学键理论的教学实验设计课题报告教学研究课题报告.docx
- 《大数据视角下的电商精准营销效果评估模型构建》教学研究课题报告.docx
- 《水稻测土配方施肥技术在绿色生态农业中的应用探讨》教学研究课题报告.docx
原创力文档


文档评论(0)