#include<>:引入c语言标准库头文件
#include"":引入自定义头文件
- 无参数的宏定义(宏常量)
1.可以使用undef卸载宏
2.不重视作用域,可以定义在任意位置,包括函数体内,作用范围从定义位置开始到源文件结尾处
3.宏常量没有数据类型
#define _CRT_SECURE_NO_WARNINGS
#include
#include
#include
void test0101() {
#define MAX 1024
//#undef MAX
}
int main(void)
{
printf("MAX=%d\n", MAX);
return 0;
}
- 带参数的宏定义(宏函数)
1.将短小、频繁使用的函数写成宏函数
2.加括号保证运算完整性
3.以空间换时间
- 条件编译
ifdef/ifndef/endif
#ifndef DUBUG
#define DEBUG
#endif
//------------------------
#ifdef DEBUG
void func() {
printf("Debug版本");
}
#else
void func() {
printf("非Debug版本");
}
#endif
//------------------------
#if 1
void func() {
printf("111");
}
#else
void func() {
printf("000");
}
#endif
- 特殊的预定义宏
#define _CRT_SECURE_NO_WARNINGS
#include
#include
#include
//__FILE__ 宏所在文件的源文件名
//__LINE__ 宏所在行的行号
//__DATE__ 代码编译日期
//__TIME__ 代码编译时间
void doWork(char* p) {
if (p == NULL){
printf("文件:%s第%d行出错了\n", __FILE__, __LINE__);
printf("日期:%s\n", __DATE__);
printf("时间:%s\n", __TIME__);
return;
}
}
int main(void)
{
//printf("MAX=%d\n", MAX);
doWork(NULL);
return 0;
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)