- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * * * 5.4.2变量的存储类型 变量的存储类型是指系统为变量分配不同类型的内存区域。C语言中,供用户使用的内存区域被分成3部分:程序区、静态存储区和动态存储区。变量的存储类型分为4种:auto型、static型、extern型和register型。 auto型变量存储在内存的动态存储区;static型和extern型变量存储在内存的静态存储区;register型变量存储在寄存器中。 局部变量的默认存储类型为auto型,全局变量的默认存储类型为extern型。 auto型变量和register型变量只能定义局部变量;static变量既可定义局部变量又可定义全局变量。 C语言中完整的变量的定义格式为: [存储类型] 类型名 变量列表; 5.5内部函数和外部函数 若一个程序规模较大,功能较复杂,那么这个程序的可读性就会变得很差。 将大程序中的函数按功能和类型分类,分别放在不同的源文件中,运行时再将它们组织起来,这样既可增加程序的可读性,又可降低程序的复杂度。 C语言允许同一程序由多个源文件组成,分布在这些源文件中的自定义函数根据其存储类型的不同可分为内部函数和外部函数两种。 5.5.1内部函数 若函数的存储类型为static型,则称其为内部函数或静态函数,它表示由多个源程序组成的同一程序中,该函数只能在其所在的文件中使用。内部函数的声明格式为: static 返回值类型 函数名(参数列表); 5.5.2外部函数 若函数的存储类型为extern型,则称其为外部函数,它表示该函数能够被其它源文件中的程序调用。外部函数的声明格式为: extern 返回值类型 函数名(参数列表); 【归纳总结】 对于外部函数的使用需注意如下两点: (1)多个源文件组成一个程序时,main()函数只能出现在一个源程序中; (2)程序中若要调用外部函数,必须提前声明,否则编译不能通过。 局部变量j 第1次循环结束 内存 静态存储区 局部变量i 全局变量i 静态变量j 静态变量i i=1 i=10 j=5+2 …… i=1 j=1 …… …… 动态存储区 第2次循环结束 内存 i=1 i=10 j=7+3 …… i=1 j=1 …… …… 第3次循环结束 内存 i=1 i=10 j=10+4 …… i=1 j=1 …… …… 程序运行过程中内存中各变量值的变化情况 5.6编译预处理 编译系统将源程序编译成目标程序之前所做的工作称为编译预处理。C语言中,编译预处理使用编译预处理命令来完成,编译预处理命令的主要功能是告诉编译系统应该怎样对源文件进行编译。 按编译预处理命令的功能,可将其分成3类:宏定义命令、文件包含命令和条件编译命令。 所有的编译预处理命令都以“#”开头,一条编译预处理命令占源程序中的一行,一般放在源程序的首部。如我们熟悉的文件包含命令“#include stdio.h”就是一条编译预处理命令。 5.6.1宏定义 C语言中的宏定义(#define)分为“不带参数的宏定义”和“带参数的宏定义”两类。 1.不带参数的宏定义 格式: #define 宏名 字符串 功能:定义一个标识符(宏名)来代表源程序中的一个字符串。 例如,程序的首部有如下宏定义: #define PI 3.1415926 2.带参数的宏定义 格式: #define 宏名(参数表) 字符串 功能:定义一个标识符(宏名)来代表源程序中的一个字符串,但该字符串中应包含参数表中的参数,宏替换时将字符串中的参数用参数表中参数替换。 例如,程序的首部有如下宏定义: #define AREA(r) 3.1415926*r*r 3.宏名的有效范围 宏名的有效范围是从定义命令之后,直到源程序文件结束,或遇到宏定义终止命令#undef为止。 宏终止命令的格式为: #undef 宏名 例如,若程序的首部定义了宏PI,则程序中终止宏PI的命令为: #undef PI 5.6.2文件包含 文件包含命令是C程序常用的一条预处理命令,它的格式有如下两种: ?格式1: #include 头文件 格式2: #include 头文件 文件包含命令的功能是将头文件中的所有内容插入到文件包含命令所在的源文件中,即将两个源文件合并成一个源文件,这样程序就能够直接调用头文件中定义的函数了。 例如: #include stdio.h C语言中系统提供的每个头文件中都包含许多函数原型的定义,这
您可能关注的文档
最近下载
- 【TiKTok运营】TikTok变现方式全解析-市场营销策划-TikTok市场分析报告-TikTok.pptx VIP
- [教学]六年级数学教学经验交流材料.doc VIP
- 常见的5-6幼儿绘本故事《汽车是怎样跑起来的?》课件.ppt VIP
- 少儿美术创意PPT课件《夏日荷花》.ppt VIP
- 2025至2030年中国三氟化硼行业市场深度评估及投资战略规划报告.docx
- 映秀至汶川高速公路项目板桥山隧道施工方案.doc VIP
- 老年人基础照护试题及答案(一).doc VIP
- 少儿美术课件紫藤花.pptx VIP
- 好书推荐《钢铁是怎样炼成的》名著导读阅读分享PPT课件.pptx VIP
- 赡养费纠纷答辩状范文.docx VIP
文档评论(0)