摘要: 因为对于一个大程序而言,我们可能要定义很多常量( 不管是放在源文件还是头文件 ),那么我们有时考虑定义某个常量时,我们就必须返回检查原来此常量是否定义,但这样做很麻烦. if defined 宏正是为这种情况提供了解决方案.举个例子,如下: 此时,我们要检查a是否定义(假设我们已经记不着这点了),或 阅读全文
posted @ 2018-12-05 15:53 耐烦不急 阅读(510) 评论(0) 推荐(0) 编辑
摘要: 1.文件包含 尽管我们很熟悉,但对文件包含命令还要说明以下几点:1. 一个include命令只能指定一个被包含文件,若有多个文件要包含,则需用多个include命令。2. 文件包含允许嵌套,即在一个被包含的文件中又可以包含另一个文件。 3. 包含命令中的文件名可以用双引号括起来,也可以用尖括号括起来 阅读全文
posted @ 2018-12-05 13:45 耐烦不急 阅读(610) 评论(0) 推荐(0) 编辑
摘要: C语言允许宏带有参数。在宏定义中的参数称为形式参数,在宏调用中的参数称为实际参数。对带参数的宏,在调用中,不仅要宏展开,而且要用实参去代换形参。带参宏定义的一般形式为:#define 宏名(形参表) 字符串 带参宏调用的一般形式为:宏名(实参表); 例如: 在宏调用时,用实参5去代替形参y,经预处理 阅读全文
posted @ 2018-12-05 11:17 耐烦不急 阅读(393) 评论(0) 推荐(0) 编辑
摘要: 在之前,已多次使用过以“#”号开头的预处理命令。如包含命令#include <stdio.h>,宏定义命令#define PI 3.1415926等。在源程序中这些命令都放在函数之外,而且一般都放在源文件的前面,它们称为预处理部分。 1.无参宏定义 无参宏的宏名后不带参数。其定义的一般形式为: #d 阅读全文
posted @ 2018-12-05 10:37 耐烦不急 阅读(877) 评论(0) 推荐(0) 编辑