admin 管理员组

文章数量: 1087139


2024年3月21日发(作者:wap模拟器)

一》宏定义:

1、不带参数:

#define 标识符 常量表达式

/*#define是宏定义命令,宏名(标识符)好习惯用大写*/

#define NIL 0x80

2、带参数:/*相当于小函数*/

#define 宏名(参数表) 字符串

/*不仅要时行字任串替换还要进行参数的替换,在宏定义时,宏名与带参数的括弧之

间不应该加空格,否则将空格以后的字符串都作为替代字符串的一部分,这可是很容易出

错的*/

如:#define SQ(a,b) a*b

使用:x=12;y=10;area=SQ(x,y);/*则area=12*10=120*/

二》文件包含:

#include <文件名>或#include "文件名"

/*在C中用双引用形式更保险,在C51中常用物是尖括弧形式*/

三》条件编译:

/*一般源程序中的所有程序行都参加编译,但有时希望对其中一部分内容只在满足一

定条件下才进行编译,也就是对一部分内容指定编译的条件。*/

#if、#elif、 #else、#endif、#ifdef、#ifndef

/*选择不同的编译范围,产生不同的代码,提供通用性。*/

/*如对8051在6MHZ与12MHZ下有*/

#ifdef cpu==8051

#define FREQ 6 /*程序段*/

#else

#define FREQ 12/*程序段*/

#endif

/*这样下面的原程序不用做任何修改便可以使用于两种时钟频率的单片机系统*/

四》其他:


本文标签: 编译 字符串 参数 标识符 替换