C语言特性(预处理)
2015-12-23 19:51
344 查看
预处理
使用#define、#undef执行宏定义
#define的作用就是为字符串起个名字
关于宏定义,有如下注意点
1.宏定义并不是C语句,因此不要在宏名称与字符串之间使用=进行复制,而且宏定义也无需使用分好结束。 2.宏定义并不是变量,它甚至不是常量,因此不要尝试对宏名称进行赋值。 3.编译器对宏定义处理就是进行“查找、替换”——将所有出现宏名字的地方替换成该宏对应的字符串,因此,要保证宏定义 是正确的。
执行宏定义后,该宏的作用域为从定义该宏开始,知道该源代码结束,如果希望提前结束宏定义,则可以使用如下语句:
#undef 宏名称
带参数的宏定义
定义参数宏的语法格式如下:#define 宏名称(参数列表) 字符串
使用#ifdef、#ifndef、#else、#endif执行条件编译
使用#if、#elif、#else、#endif执行条件编译
提供了更通用的条件编译,它可以对指定的表达式进行判断,根据表达式的值决定是否要编译指定的语句。语法格式如下:#if 表达式 //任意语句 #elif 表达式 //任意语句 ... //可以有零个或多个#elif语句 //最后的#else语句也可以省略 #else //任意语句 #endif
#include与#import
C语言提供了#include来导入其他源程序,而Objective-C则提供了#import来导入其他源程序,而且#import更加好用。相关文章推荐
- C语言特性(局部变量和全局变量)
- C语言--指针基础
- 操作系统: 二级目录文件系统的实现(c/c++语言)
- C++中实现从std::string类型到bool型的转换
- iOS_02_第一个C语言程序(理解编译、连接、运行)
- C语言版的线性回归分析函数
- C++--------检测电脑是否休眠过
- C++权限继承方式对权限的影响
- C语言开发总结(二十一)
- C++如何通过指针创建二维数组
- C++ 数组引用传递与指针传递
- C++文件读写详解(ofstream,ifstream,fstream)
- C语言宏定义##连接符和#符的使用
- C语言undefined behaviour未定义行为
- 【学习笔记】自定义关于wchar_t*的相关函数
- C,C++宏中#与##的讲解
- windows下C++多线程
- C语言开发总结(二十)
- C++文件操作——fopen/fseek/ftell/fread/fwrite/fclose等函数用法
- C++中引用与指针的区别(详细介绍)