- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机C语言基础 例:使用二维数组操作多字符串 文件名:exp312.c #includestdio.h int main(void) { char fruit[3][7] = { Apple, Pear, Orange}; int i,j; for(i=0;i3;i++) { for(j=0;j7;j++) printf(%c,fruit[i][j]); printf(\n); } return(0); } #define 例:#define PI 3.1415926 //遇到PI用3.1415926代替 例: #define unsigned char string //定义一个类型 string a; 例: #define unsigned char * PSTR PSTR p1; //p1是一个指针 处理多包含(条件编译) 假设有两个头文件a1.h和a2.h 头文件a1.h包含以下语句 #include “c.h” … 头文件a2.h也包含以下语句 #include “c.h” … 2 常用预处理语句 编制的程序将a1.h和a2.h都包含进来 #include “a1.h” #include “a2.h” … 那么头文件c.h被包含了两次。 为处理多包含情况可在c.h中做以下定义 #ifndef C_H #define C_H … #endif 这样,头文件c.h只会被处理一次。 作用域和链接方式 弄懂代码块作用域,文件作用域;外部链接,内部链接,空链接 在函数内声明的变量,作用域是在函数包含的代码块内;空链接。 int function() { int x; //代码块作用域变量,x在该函数的代码块内是可见的;空链接 … return(0); } 3 存储类前缀限定符static,extern 在任何函数外声明的变量,作用域在文件内。加static限定内部链接,否则外部链接 下面代码存储在file1.c中 #includestdio.h int c;//文件作用域变量,c在file1.c中是可见的;外部链接,其它文件可以引用该变量 static int d; //文件作用域变量,d在file1.c中可见;内部链接,其它文件不可以引用该变量 void swap1(int *a , int *b ) //函数是文件作用域变量;外部链接,其它文件可以引用该变量 { … } swap1.c文件 #include stdio.h int c = 4; //文件作用域变量;外部链接,其它文件可引用或修改该变量 static int temp; //文件作用域变量;内部链接,其它文件不可引用修改该变量。 void swap1(int *a, int *b) //函数是文件作用域的;外部链接,其它文件可应用 { temp = *a; *a = *b; *b = temp; } Main.c文件 #include stdio.h #include stdlib.h extern void swap1(int* ,int* ); int main(void) { int a=1, b=2; extern int c; //告诉编译器,变量c在main.c文件外定义 swap1(a, b); printf(a = %d\t b = %d\n,a,b); printf(c = %d\n,c); c = 5; //可修改变量c的值 printf(c = %d\n,c); return EXIT_SUCCESS; } 输出为 2 1 4 5 如果想某一个文件中的某一函数不可被其它文件引用,在函数定义时加限定符static static修饰函数代码块内的变量 表示该变量是静态存储变量(不加static是动态存储变量,存于堆栈中),生存期是整个程序运行期间,函数结束后,该内存块不撤销,该变量同样对代码块外部不可见。 #include stdio.h void fun1() { static int x=0; x += 1 ; printf(%d\t , x); } int main(void) { fun1(); fun1(); fun1(); return(0); } 输出:1 2 3 4 typedef的使用 typedef通常用于下面两种情况 (1
您可能关注的文档
- (一轮复习)减数分裂和受精作用.ppt
- 《供应链管理》课件:第9章---供应链管理绩效评价和激励机制.ppt
- 《授权管理》精品课程课件.pptx
- 2018年湖北省黄石市中考化学考试试卷.doc
- 2018-年全区公务员全员培训课件综合考试(-100-分卷).doc
- 2019届高三一轮自然界的水循环与水资源的合理利用.pptx
- 2019届一轮复习人教版-第31讲-生态系统的物质循环、信息传递及稳定性-课件.pptx
- 2019年自学考试《银行会计学》预测考点.docx
- 2019中考数学全景透视复习总结课件第03讲整式.ppt
- 20802南京理工大学节能和新能源汽车产业规划.ppt
- 深度解析(2026)《SNT 2497.23-2010 进出口危险化学品安全试验方法 第 23 部分:细胞器的分离实验方法》.pptx
- 深度解析(2026)《SNT 2517-2010 进境羽毛羽绒检疫操作规程》.pptx
- 深度解析(2026)《SNT 2755.2-2011 出口工业产品企业分类管理 第 2 部分:企业分类基本要求》.pptx
- 深度解析(2026)《SNT 2782-2011 原油中盐含量的测定 电测法》.pptx
- 深度解析(2026)《SNT 3016-2011 石脑油中汞含量测定 冷原子吸收光谱法》.pptx
- 深度解析(2026)《ISOTS 19567-12016 Photography — Digital cameras — Texture reproduction measurements — Part 1 Freque标准解读.pptx
- 深度解析(2026)《SNT 3082.5-2012 出口烟花爆竹产品检验规范 第 5 部分:喷花类》.pptx
- 深度解析(2026)《SNT 3086-2012 出境活鳗现场检疫监管规程》.pptx
- 深度解析(2026)《ISOTR 173022015 Nanotechnologies — Framework for identifying vocabulary development for nanotechnol标准解读.pptx
- 深度解析(2026)《SNT 2982-2011 牙鲆弹状病毒病检疫技术规范》.pptx
最近下载
- TCCSAS 061-2025 特殊作业监护人履责管理要求.pdf
- 《城市轨道交通概论》课件——第六章 城市轨道交通信号与通信系统.pptx VIP
- 2025年国家开放大学(电大)《社会调查研究方法》期末考试复习试题及答案解析.docx VIP
- 2025年公务员多省联考《申论》题(海南B卷).pdf VIP
- 高考物理二、三轮复习总攻略-1专题4.3 板块模型(原卷版).pdf VIP
- 2025年特许金融分析师气候风险衍生品概述与应用专题试卷及解析.pdf VIP
- 手机软件使用步骤.doc VIP
- 全自动膏霜封尾装盒机操作保养规程.docx VIP
- 胰岛素笔注射规范操作指南.pptx VIP
- 工业和信息化部等四部门印发《中小企业划型标准规定》.docx VIP
原创力文档


文档评论(0)