C预处理
2022/6/16 23:23:17
本文主要是介绍C预处理,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
目录- #include<>和#include""区别
- 宏常量
- 不带参数的宏定义(宏常量)
- 带参数的宏定义(宏函数)
#include<>和#include""区别
- ""表示先在file.c所在的当前目录找头文件file.h,若找不到,再按系统指定的目录检索。
- <>直接按系统指定的目录检索
宏常量
不带参数的宏定义(宏常量)
- 比如 #define PI 3.1415
- 宏名一般大写
- 宏定义可以是常数、表达式
- 宏定义不做语法检查
- 宏定义不是C语言,不在行末加分号
- 宏名有效范围从定义到本源文件结束
- 可以用#undef命令终止宏定义的作用域
- 宏定义中可以引用已经定义的宏名
带参数的宏定义(宏函数)
- 比如 #define SUM(x, y) ((x) + (y))
- 宏的名字不能有空格,但是替换字符串可以有
- 用括号括住每一个参数,并括住宏的整体定义
- 用大写字母表示宏的函数名
- 由于宏函数没有函数调用开销,因此可以提高程序运行的效率,但是一般只有使用频繁且短小精悍的代码块才会定义为宏函数
这篇关于C预处理的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-26Rocket消息中间件教程:新手入门详解
- 2024-11-26RocketMQ项目开发教程:新手入门指南
- 2024-11-26MQ源码教程:轻松入门Apache MQ源码解析
- 2024-11-26Rocket消息队列教程:新手入门必读
- 2024-11-26Rocket消息队列教程:新手入门指南
- 2024-11-26RocketMQ底层原理教程:新手入门指南
- 2024-11-26RocketMQ底层原理教程:入门级详解
- 2024-11-26如何获取 OpenAI API Key 用于ChatGPT AI大模型开发?
- 2024-11-26MATLAB 中 A(7)=[];什么意思?-icode9专业技术文章分享
- 2024-11-26UniApp 中如何实现使用输入法时保持页面列表不动的效果?-icode9专业技术文章分享