Linux C预处理命令

1、宏定义

1、无参数宏

无参数宏定义一般形式为:

 #define 标识字符串

“#”代表本行是编译预处理命令。define是宏定义的关键词,标识符是宏名。字符串是宏名所替代的内容,可以是常数、表达式等。

例:使用无参数宏计算圆的面积

#include "stdafx.h"
#define p 3.1415*2*2


int _tmain(int argc, _TCHAR* argv[])
{
printf("%f",p);
return 0;
}

2、有参数宏

有参数的宏类似于有参数的函数,其定义的一般形式为:

 #define 标识符(形象表) 字符串

如果有多个形参,像函数参数一样已逗号隔开。在程序中使用有参数宏的形式是:

标识符(实参表)

例:有参数宏的实现方法。

#include "stdafx.h"
#define MAX(x,y)( x.y?x:y)


main()

{

int  a=1,b=2,max;

max=MAX(a,b);

printf{"the max between(%d,%d)is%d\n",a,b,max};

}


2、文件包含

文件包含


包含命令中的文件名可以用双引1号括起来,也可以用尖 括号括起来。例
如以下写法都是允许的:
#include"stdio.h"
#in cI ud e<m ath.h >
但是这两种形式是有区别的:使用尖括号表示在包含文件目录中去查找(包含目录是由用户在设置环境时设置的),而不在源文件目录去查找;使用双弓|号则表示首先在当前的源文件目录中查找,若未找到才到包含目录中去查找。用户编程时可根据自己文件所在的目录来选择某一种命令形式。
一一个include命令只能指定一个被包含文件,若有多个文件要包含,则需用多个include命令。

文件包含允许嵌套,即在一个被包含的文件中又可以包含另一个文件。

3、条件编译

预处理程序提供了条件编译的功能。可以按不同的条件去编译不同的程序部分,因而产生不同的目标代码文件。这对于程序的移植和调试是很有用的。

1、第一种形式:                       

#ifdef 标识符

程序段1

#else

程序段2

#endif

2、第二种形式:                       

#ifndef 标识符

程序段1

#else

程序段2

#endif

3、第三种形式

#if 常量表达式

程序段1

#else

程序段2

#endif






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值