【C语言】:预处理详解

1. 预定义符号

C语⾔设置了⼀些预定义符号,可以直接使⽤,预定义符号也是在预处理期间处理的。


1.__FILE__  //进⾏编译的源⽂件 
2.__LINE__  //⽂件当前的⾏号 
3.__DATE__  //⽂件被编译的⽇期 
4.__TIME__  //⽂件被编译的时间 
5.__STDC__  //如果编译器遵循ANSI C,其值为1,否则未定义 

使用方法如下:

#define _CRT_SECURE_NO_WARNINGS 

#include <stdio.h>

int main()
{
   
	printf("%s\n", __FILE__);
	printf("%d\n", __LINE__);
	printf("%s\n", __DATE__);
	printf("%s\n", __TIME__);

	return 0;
}

打印结果如下:

在这里插入图片描述

2. #define 定义常量

2.1 基本语法:

 #define name stuff

举个例⼦:


1.#define MAX 1000
2.#define do_forever for(;;)  //⽤更形象的符号来替换⼀种实现 

2.2 续行符的使用

如果定义的 stuff过⻓,可以分成⼏⾏写,除了最后⼀⾏外,每⾏的后⾯都加⼀个反斜杠(续⾏符)。

注意:反斜杠后直接回车即可,不能加空格之类的,否则不能起到换行效果。


#define DEBUG_PRINT printf("file:%s\tline:%d\t \
 date:%s\ttime:%s\n" ,\
 __FILE__,__LINE__ , \
 __DATE__,__TIME__ ) 
 

2.3 思考:在define定义标识符的时候,要不要在最后加上 ; ?

 #define MAX 1000;

建议不要加分号,这样显得多于,并且在某些情况下会出现错误。比如:

#define  MAX 10;

int main()
{
   
	printf("%d\n", MAX);
	
    //预处理其间会进行如下替换,这样就出现了语法错误
    // printf("%d\n", 10;); 
    
	return 
评论 138
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值