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预处理的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程