C/C++ 中的预处理器指令

  1. #include指令
    • 用途:用于将指定的头文件内容包含到当前源文件中。这使得可以在当前文件中使用头文件中声明的函数、变量、类型等。头文件通常包含函数原型、宏定义、结构体和联合体的声明等内容。
    • 示例
      • 假设我们有一个名为stdio.h的头文件,其中包含了标准输入输出函数(如printf)的声明。在main.c文件中,如果要使用printf函数,就需要包含stdio.h头文件。

展开过程

  • 在 C++ 中,除了像 C 一样的标准库头文件(如<iostream>),还可以包含自定义的头文件。例如,有一个自定义的头文件myheader.h,其中声明了一个函数myFunction,在main.cpp文件中使用它的方式如下:
cpp 复制代码
#include "myheader.h"
int main()
{
    myFunction();
    return 0;
}
  • 这里<stdio.h>是标准库头文件的包含方式,用尖括号;"myheader.h"是自定义头文件的包含方式,用双引号。
  1. #define指令
    • 用途:用于定义宏。宏可以是一个常量值,也可以是一段简单的代码替换。它在预处理阶段进行文本替换,这有助于提高代码的可读性和可维护性,同时也可以用于定义一些全局的常量或者简单的函数式宏。
    • 示例
      • 定义一个常量宏。例如,定义圆周率PI的值:
cpp 复制代码
#define PI 3.14159
int main()
{
    double radius = 2.0;
    double area = PI * radius * radius;
    printf("The area of the circle is: %lf\n", area);
    return 0;
}
  • 定义一个函数式宏。例如,定义一个求两个数最大值的宏:
cpp 复制代码
#define MAX(a,b) ((a) > (b)? (a) : (b))
int main()
{
    int num1 = 5;
    int num2 = 3;
    int max_num = MAX(num1, num2);
    printf("The maximum number is: %d\n", max_num);
    return 0;
}
相关推荐
沐知全栈开发1 分钟前
DOM 遍历
开发语言
桂花很香,旭很美3 分钟前
[7天实战入门Go语言后端] Day 3:项目结构与配置——目录组织、环境变量与 viper
开发语言·数据库·golang
Lun3866buzha3 分钟前
内窥镜设备部件检测与识别——基于Mask R-CNN的改进模型训练与实现
开发语言·r语言·cnn
Never_Satisfied6 分钟前
在JavaScript中,如何给字符串数组中的元素去重
开发语言·javascript·ecmascript
alanesnape7 分钟前
Valgrind 测试详解--检测内存泄漏的好工具
c语言·c++·算法
测试_AI_一辰9 分钟前
项目实战15:Agent主观题怎么评测?先定底线,再做回归
开发语言·人工智能·功能测试·数据挖掘·ai编程
me83210 分钟前
【Java面试】Java核心关键字解析(static_final_访问修饰符)小白易懂
java·开发语言·面试
小飞学编程...13 分钟前
【Java相关八股文(一)】
android·java·开发语言
前路不黑暗@26 分钟前
Java项目:Java脚手架项目的通用组件的封装(七)
java·开发语言·spring boot·后端·学习·spring cloud·maven
你怎么知道我是队长32 分钟前
C语言---排序算法12---计数排序法
c语言·算法·排序算法