c 预处理
7页1、C 预处理C+预处理2010-03-3018:471)常用的预处理:#include包含头文件#if条件#else否则#elif否则如果#endif结束条件#ifdef或#ifdefined如果定义了一个符号,就执行操作#ifndef或#if!defined如果没有定义一个符号,就指执行操作#define定义一个符号#undef删除一个符号#line重新定义当前行号和文件名#error输出编译错误消息,停止编译#pragma提供机器专用的特性,同时保证与C+的完全兼容2)#include在程序中包含头文件头文件通常以.h结尾,其内容可使用#include预处理器指令包含到程序中头文件中一般包含:函数原型与全局变量形式常有下面两种#includeiostream#includemyheader.h前者用来引用标准库头文件,后者常用来引用自定义的头文件前者编译器只搜索包含标准库头文件的默认目录,后者首先搜索正在编译的源文件所在的目录,找不到时再搜索包含标准库头文件的默认目录.如果把头文件放在其他目录下,为了查找到它,必须在双引号中指定从源文件到头文件的完整路径3)#define定义符号、宏
2、1符号#definePI3.1415925定义符号PI为3.1415925#definePI取消PI的值这里PI看起来像一个变量,但它与变量没有任何关系,它只是一个符号或标志,在程序代码编译前,此符号会用一组指定的字符来代替3.14159265不是一个数值,只是一个字符串,不会进行检查在编译前,预处理器会遍历代码,在它认为置换有意义的地方,用字符串PI的定义值(3.14159265)来代替在注释或字符串中的PI不进行替换在C中常以#define来定义符号常量,但在C+中最好使用const来定义常量#definePI3.14159265constlongdoublePI=3.14159265;两者比较下,前者没有类型的指定容易引起不必须的麻烦,而后者定义清楚,所以在C+中推荐使用const来定义常量#define的缺点:1)不支持类型检查2)不考虑作用域3)符号名不能限制在一个命名空间中2#undef删除#define定义的符号#definePI3.14159265./之间所有的PI都可以被替换为3.14159265#undefPI之后不再有PI这个标识符3定义宏#definePrint
3、(Var)count(Var)endl用宏名中的参数带入语句中的参数宏后面没有;号Print(Var)中的Print和(之间不能有空格,否则(就会被解释为置换字符串的一部分#definePrint(Var,digits)countsetw(digits)(Var)endl调用Print(ival,15)预处理器就会把它换成coutsetw(15)(ival)endl;所有的情况下都可以使用内联函数来代替宏,这样可以增强类型的检查templateclassTinlinevoidPrint(constT&var,constint&digits)countsetw(digits)varendl;调用Print(ival,15);使用宏时应注意的易引起的错误:#definemax(x,y)xy?x:y;+调用result=max(myval,99);则换成result=myval99?myval:99;这个没有问题是正确的调用result=max(myval+,99);则换成result=myval+99?myval+:99;这样如果myval99那么myval就会递增两次,这种情况下()是没
《c 预处理》由会员小**分享,可在线阅读,更多相关《c 预处理》请在金锄头文库上搜索。
2020年高考真题——理科综合(全国卷Ⅲ)+Word版含答案
2021年绝味鸭脖策划书
2021年熟食店创业方案
2021年熟食店开店策划
2021年卤菜店创业计划书
2021年周黑鸭网络营销策划方案
东大21年1月考试《现代设计方法》考核作业
谈我国行政管理效率的现状及其改观对策(论文)
单证员考试-备考辅导-复习资料:无贸易背景信用证案分析.docx
土木工程毕业生答辩自述.docx
建筑学毕业后工作状态真实写照.doc
C#代码规范(湖南大学).doc
xx区食药监局2019年工作总结及2020年工作计划
2019年中医院药物维持治疗门诊工人先锋号先进事迹
2019年度xx乡镇林长制工作总结
2019年性艾科工作计划书
2019年人才服务局全国扶贫日活动开展情况总结
关于组工信息选题的几点思考
摘了穷帽子 有了新模样
2019年某集团公司基层党支部书记培训班心得体会
2024-03-21 40页
2024-03-21 32页
2024-03-21 44页
2024-03-13 36页
2024-03-13 12页
2024-03-13 15页
2024-03-13 35页
2024-03-04 55页
2024-03-04 57页
2024-03-04 137页