0
点赞
收藏
分享

微信扫一扫

IDEA中怎么使用git下载项目到本地,通过URL克隆项目(giteegithub)

猎书客er 2023-08-07 阅读 68


文章目录

  • 什么是预处理
  • 宏定义#define
  • #undef
  • #include 
  • 条件编译
  • #error
  • #pragma


什么是预处理

主要处理#开始的预编译指令,预编译指令指示了在程序正式编译前就由编译器进行的操作,可以放在程序中的任何位置。

C 编译系统在对程序进行通常的编译之前,首先进行预处理。

c 提供的预处理功能主要有以下三种:

何时需要预编译:

在c语言中有如下预处理指令

 下面介绍几个常用的预处理指令

一. 宏定义(#define)

常用的宏定义有以下几种:

①宏常量

例如

#include"stdio.h"
#define A 10
int main()
{
	printf("A = %d" , A);//在预处理时,A会被转化为 10
	return 0;
}

结果如下

 ②宏语句

例如

#include <stdio.h>

#define Print(str) printf("%s", str)

int main()
{
	Print("这是一个宏定义的输出语句");//在程序预处理时会变为printf("%s", str);
	return 0;
}

结果如下

③宏函数

例如

#include <stdio.h>

#define ADD(x, y) x + y

int main()
{
	printf("%d", ADD(10, 20));
	return 0;
}

结果如下

二、#undef

在实际应用中可以按照以下方式使用

1. 防止宏定义冲突

在一个程序块中用完宏定义后,为防止后面标识符冲突需要取消其宏定义。


#include <stdio.h>
 
int main()
{
#define MAX 200
printf("MAX = %d\n", MAX);
#undef MAX
 
    int MAX = 10;
    printf("MAX = %d\n", MAX);
 
    return 0;

}

2. 增强代码可读性

在同一个头文件中定义结构类型相似的对象,根据宏定义不同获取不同的对象,主要用于增强代码的可读性。


#include <stdio.h>
 
#define MING
#include "student.h"
#undef MING
#define HONG
#include "student.h"
#undef HONG
 
int main()
{
printf("Xiao Ming's age is %d.\n", MING_AGE);
printf("Xiao Hong's age is %d.\n", HONG_AGE);
 
return 0;
}

三、#include

四、条件编译

1.#ifdef 标识符1  &&  #ifndef 标识符2

2.#if 常量表达式

 五、#error

六、#pragma

1.#pragma once

2.#pragma warning

具体示例:

3.#pragma pack

#pragma的用法不止以上三种,它还有其他的使用方法,这里就不一一介绍了,只介绍常用的相关用法。


 以上带来的就是预处理的相关介绍。

 

举报

相关推荐

0 条评论