stm32 学习(1)

  1. ##运算符用于宏函数的替换部分;这个运算符把两个语言符号组合成单个语言符号,为宏扩展提供了一种实际变元的手段:
例:
#define XADD(n) x##n
使用:XADD(5):
则会被展开为:x5

##不能随意粘合任意字符,必须是合法的c语言标识符;尽量不要使用

  1. __VA_ARGS__是一个可变参数的宏,这个可变参数的宏是新c99规范中新增的;实现思想就是宏定义中参数列表的最后一个参数为省略号(…)

  2. ##VA_ARGS 宏前面加上##的作用在于,当可变参数个数为0时,这里的## 起到把前面多余的“ , ”去掉的作用,否则会编译出错;

    在这里插入图片描述

你可能感兴趣的:(stm32)