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 分钟前
工业相机图像高速存储(C#版):先存内存,后批量转存方法,附海康相机实战代码!
开发语言·人工智能·数码相机·计算机视觉·c#·视觉检测·海康相机
左手の明天5 分钟前
Linux内核裁剪深入浅出:从原理到实操,打造轻量化嵌入式内核
linux·arm开发·c++
0 0 07 分钟前
CCF-CSP 38-2 机器人复健指南(jump)【C++】考点:BFS/DFS
开发语言·c++·算法·深度优先·宽度优先
爱学习的小邓同学8 分钟前
C语言 --- 文件操作
c语言·开发语言
xiaoye-duck9 分钟前
《算法题讲解指南:优选算法-前缀和》--29.和为k的子数组,30.和可被k整除的子数组
c++·算法
我命由我1234510 分钟前
前端开发 - this 指向问题(直接调用函数、对象方法、类方法)
开发语言·前端·javascript·vue.js·react.js·html5·js
Z9fish10 分钟前
sse 哈工大 C 语言编程练习 39
c语言·数据结构·算法
mjhcsp11 分钟前
C++ Dancing Links(舞蹈链):从原理到实战的深度解析
开发语言·c++·dancing links
橙汁味的风11 分钟前
1计算机网络引言
开发语言·计算机网络·php
低保和光头哪个先来12 分钟前
TinyEditor 篇1:实现工具栏按钮向服务器上传图片
服务器·开发语言·前端·javascript·vue.js·前端框架