当前位置: 首页 > news >正文

初识c语言————宏定义和调用

目录:

一.不带参数的宏

二.带参数宏


一.不带参数的宏

    不带参数的宏是指用#define指令定义的简单文本替换规则,它没有参数列表,直接替换标识符为相应的文本

    其一般形式为:

#define    宏名    文本

   例如:

#define pi 3.14

   这个代码中当我们使用pi这个宏名的时候,我们直接把宏名替换为3.14即可

二.带参数的宏

   带参数的宏(也称为参数化宏)允许在宏定义中使用参数,类似于函数调用,但本质上是文本替换

   其一般形式为:

#define    宏名(参数1,参数2,......)    替换文本

   例如:

#define pi(x,y) ((x)+(y))

   在这个代码中当我们使用pi(x,y)这个参数宏的时候,我们直接可以把参数宏这个整体看作为替换文本即可,即((x)+(y))

http://www.xdnf.cn/news/1308259.html

相关文章:

  • Trae中`settings.json`文件的Java配置项功能详解(一)
  • 云原生俱乐部-RH124知识点总结(1)
  • 安卓11 12系统修改定制化_____列举与安卓 9、10 系统在定制化方面的差异与权限不同
  • 【科普向-第一篇】数字钥匙生态全景:手机厂商、车厂与协议之争
  • Flutter Provider 模式实现:基于 InheritedWidget 的状态管理实现
  • 矩阵链相乘的最少乘法次数(动态规划解法)
  • 开源 Arkts 鸿蒙应用 开发(十七)通讯--http多文件下载
  • bilibili视频总结
  • RK3568 NPU RKNN(一):概念理清
  • 【P14 3-6 】OpenCV Python——视频加载、摄像头调用、视频基本信息获取(宽、高、帧率、总帧数)
  • 10-verilog的EEPROM驱动-单字节读写
  • 罗技MX Anywhere 2S鼠标修复记录
  • 多机编队——(6)解决机器人跟踪过程中mpc控制转圈问题
  • AT89C52单片机介绍
  • CVE-2024-28752漏洞复现
  • mysql一启动就挂的解决
  • Javar如何用RabbitMQ订单超时处理
  • Docker部署 Neo4j Community【拒绝国内镜像拉取异常】
  • Vue组件生命周期钩子:深入理解组件的生命周期阶段
  • 论文学习24:Boundary-Sensitive Segmentation of SmallLiver Lesions
  • 服务器可以ping通,但部署的网站打不开
  • [Linux] Linux tar文档管理 系统间复制文档
  • Android 移动端 UI 设计:前端常用设计原则总结
  • 使用openssl创建自签名CA并用它签发服务器证书
  • c# WebAssembly,在网页上能运行多线程,异步,锁,原子加,减等代码吗
  • tailscale远程服务器连接局域网方案(解决境外服务器网速慢的问题)
  • OBOO鸥柏丨75寸/86平板企业办公会议触控一体机核心国产化品牌招投标参数
  • 企业运维规划及Linux介绍虚拟环境搭建
  • Jenkins Pipeline中参数化构建
  • 5 索引的操作