预处理 宏定义
来源:互联网 发布:js设置div的margin 编辑:程序博客网 时间:2024/05/29 17:24
(2)包含“#”的都是预处理吗? #后是指令关键字,在关键字和#之间允许存在任意个数的空白字符。整行语句构成一条预处理指令,该指令将在编译器进行编译之前对源代码做某些转换,预处理指令是以#的代码行,又称伪指令。
(3)预处理指令后都不需要加“:”吗?
在现学的C语言中预处理指令总共有12种。
#define :宏定义 。
1 宏名一般用大写。
2 使用宏可提高程序的通用性和易读性,减少不一致性,减少输入错误和便于修改。例如,数组大小常用宏定义。
3 预处理是在编译之前的处理,而编译工作的任务之一就是语法检查,预处理不做语法检查。
4 宏定义末尾不加分号。
5 宏定义写在函数的花括号外面,作用域为其后的程序,通常在文件的最开头。
6 可以用#undef命令终止宏的作用域。
7 宏定义允许嵌套。
8 字符串(“ ”)中永远不包含宏。
9 宏定义不分配内存,变量定义分配内存。
10 宏定义不存在类型问题,它的参数也是无类型的。
#undef: 撤销已定义的宏名
#include:使编译程序将另一源文件嵌入到带有#include的源文件中
#if #else #elif #endif :#if 的一般含义是如果#if 后面的常量表达式为真,则编译它与#endif之间的代码,否则跳过这些代码。命令#endif标识一个#if 块的结束。#else命令的功能有点像C语言中的else ,#else 建立另一选择(当#if失败时)
#ifdef #ifndef :分别表示“如果有定义”,“如果无定义”,是条件编译的另一种方法。
#line :改变当前行数和文件名称,它们是在编译程序中预先定义的标识符命令的基本形式——#line number【“filename”】。
#error :编译程序时,只要遇到#error 就会生成一个编译错误提示消息,并停止编译。
#pragma :为实现时定义的命令,它允许向编译程序传送各种指令例如,编译程序可能有一种选择,它支持对程序执行的跟踪。可用#pragma 语句指定一个跟踪选择。
- 预处理/宏定义/typedef定义
- 预处理宏定义
- C++预处理宏定义
- 预处理与宏定义
- 预处理器定义宏
- 关于宏定义预处理
- 预处理 宏定义
- 预处理命令与宏定义
- c语言预处理--宏定义
- Unity预处理与宏定义
- 预处理指令_宏定义
- c语言预处理宏定义
- 预处理定义
- 预处理指令和简单的宏定义
- VC中的预处理和宏定义
- 关于预处理和宏定义的知识
- 预处理程序 宏定义 掌握例子
- C语言预处理——宏定义
- java.lang.IllegalArgumentException: No positional parameters in query:
- Eclipse Maven 编译错误 Dynamic Web Module 3.0 requires Java 1.6 or newer 解决方案
- 我的词条 之 偏移量
- Spark的WordCount详解
- 警查审问四名嫌疑人,其中三人说真话,一人说谎。
- 预处理 宏定义
- Fidder—Fidde保存会话(save)
- 51Nod-1298 圆与三角形
- ImageLoaderUtil
- python数据类型(1)
- Python——函数参数问题
- PAT 1021 个位数统计
- idea的Debug模式
- python 中文显示 \xb2\xe2\xca\xd4\xd6\xf7\xbb\xfa