C初级_预处理

1.宏定义

  • 作用:用自定义的字符替换一些文本

  • 格式:#define 自定义名(大写) 目标替换文本

  • 说明:

     宏定义时不用 ; 
     宏定义时不用数字
    
  • 带参宏:(类似函数)

  • 格式:#define ADD(a,b) a+b

    说明:

  • 带参宏只适用于一些简单的操作(不能有循环、递归……)

  • 直接替换可能导致代码变长,导致代码区冗胀

  • 好处在于,简单的函数用宏替换可以节省函数与函数之间的跳转时间

  • 先替换然后计算,要注意优先级的问题

2.头文件包含

  • #include<头文件名字>

  • #include"头文件名字"

  • 作用:把头文件内容直接复制到代码前面

    上述两者的区别:

  • <>一般表示自带头文件(在指定目录中)

  • ""一般表示自己写的头文件(在项目文件夹中,如果在项目文件夹中找不到,则会区系统指定目录寻找)

    自定义头文件:

  • 在头文件下添加 名字1.h 头文件

  • 在原文件下添加 名字1.c 源文件

    说明:

  • 原文件和头文件的名字要对应

  • 名字1.h 头文件 负责()名字1.c 源文件 对应的函数声明、类型定义、宏定义、条件编译等

  • 一般在头文件前加 #pragma once 防止头文件重复包含

3.条件编译

  • 作用:根据某些条件 判断下面的语句是否编译

    格式1:

  • #if #endif

    格式2:

  • #ifndef #endif

    格式3:

  • #pragma once

4.说明

  • 预处理实际上就是:将代码分成几个文件,并联合起来可以执行
  • #开头表示预处理命名
  • 代码–>预处理–>编译–>可执行文件
  • 预处理阶段(删掉注释、宏定义、包含头文件、条件编译)

5.代码实例

头文件-liu.h
(说明:在对应项目下点击添加,选择头文件进行添加)

#pragma once
#include<stdio.h>
void fun();

原文件1-liu.cpp
(说明:在对应项目下添加,选择C++文件,并且名字要与对应的头文件一致)

#include<stdio.h>
void fun()
{
 printf("hello world\n");
}

源文件2-任意名字.cpp
(说明:源文件2是主函数所在位置)

#include<stdio.h>
#include"liu.h"
#define HELLO "hello world"
#define ADD(a,b) a+b

int main()
{
 fun();
 printf("此处用于说明宏替换(宏定义hello world 为HELLO) :%s", HELLO);
 printf("\n\n此处用于说明带参宏#define ADD(a,b) a+b的作用:%d", ADD(3, 4));
 printf("\n\n此处说明宏替换的#define ADD(3,4)*5的值,其值为%d", ADD(3,4) * 5);
 getchar();
 return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值