- 1、本文档共48页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言第4章作用域
局部变量的作用域 全局变量的作用域 4.2.2 存储类型 根据存储类型变量可分为如下四种具体形式: 例如: f(int a) { int b=0; static int c=3; b=b+1; c=c+1; return( a+b+c); } main( ) { int a=2 , i; for(i=0; i3; i++) printf(“%d,”,f(a)); } 运行结果为: 7 ,8 ,9 静态局部变量相关说明: 静态全局变量的相关说明: 静态全局变量与普通全局变量在存储方式上完全相同,都是静态存储方式。 区别在于:非静态全局变量的作用域是整个源程序;而静态全局变量的作用域只是定义它的文件 总结 1 根据变量的作用域可以将变量划分为:局部变量和全局变量 根据变量的存储类型(决定生存期)将变量划分为: 自动变量、寄存器变量、静态变量 静态局部变量的生存期为整个源程序,但其作用域为定义该变量的函数 静态全局变量的生存期为整个源程序,其作用域为定义该变量的源文件 4.4 宏定义与宏替换 带参数宏定义 一般形式: #define 宏名(参数表) 宏体 被包含文件内容 源文件(*.c) 头文件(*.h) file2.c (文件2) #include stdio.h extern enter_string (str) /*定义外部函数enter_string*/ char str[80]; { gets (str); } /* 读入字符串str */ file3.c (文件3) extern delete_string (str, ch) /* 定义外部函数delete_string */ char str [ ], ch; { int i, j; for (i=j=0; str[i]!= \0 ; i++) if (str[i]!=ch) str[j++]=str[i]; str[i]= \0 ; } file4.c (文件4) extern print_string (str) /* 定义外部函数print_string */ char str[ ]; { printf(%s, str); } 运行情况如下: abcdefgc? (输入str) c ? (输入要删去的字符) abdefg (输出已删去指定字符的字符串) 连接: link file1+file2+file3+file4 主函数 编译: 分别编译file1.obj, file2.obj, file3.obj, file4.obj 第四章 模块化程序设计 4.1 函数 4.2 变量的存储属性 4.3 模块的编译和链接 (内部函数和外部函数) 4.4 宏定义与宏替换 目的: 为了简化程序的编写,提高程序的可移植性、可读性、模块化。 C语言设计了若干命令–––编译预处理命令,并可出现于程序当中。 处理流程: 第一次编译扫描时,将预编译命令处理完,然后再进行正式编译,生成目标代码。 1. 宏定义命令; 有三种类型的预处理命令: 为了与C语句区别,这些命令均以“ #”开头。 2. 文件包含命令; 3. 条件编译命令。 如 #define YES 1 #define NO 0 if(x==YES) printf(“correct!\n”); else if (x==NO) printf(“error!\n”); 展开后: if(x==1) printf(“correct!\n”); else if (x==0) printf(“error!\n”); 4.4.1、宏定义 不带参数宏定义 一般形式: #define 宏名 宏体 功能:用指定标识符(宏名)代替字符序列(宏体) 宏展开:预编译时,用宏体替换宏名--不作语法检查 如 #define YES 1 #define NO 0 #define
您可能关注的文档
最近下载
- 2025年湖北省武汉市高考数学模拟试卷(附答案解析).pdf VIP
- 河北省2025年12月普通高中学业水平合格性考试数学试题(含答案解析).pdf VIP
- 浙江省嘉兴市南湖区2023-2024学年四年级下学期语文期中试卷 解析版.docx VIP
- 《华为战略管理法》读书笔记PPT.pptx VIP
- 电网工程设备材料信息参考价(2024年第四季度).xlsx
- 2025商业广场哪吒沉浸式 (童魔闹海主题)主题展活动策划方案-47P.docx
- 义务教育版(2024)四年级信息技术 第6课 古往今来话编码 课件.pptx VIP
- 企业筹资问题研究--以小米公司为例.doc
- 式与方程复习课.doc VIP
- 《鸡兔同笼》教学设计优质课公开课一等奖 .pdf VIP
文档评论(0)