小编Chr*_*ris的帖子

无法识别的C宏

我遇到了一个在C头文件中定义的宏,我对理解有点麻烦.

#if BAR
  #define FOO(s,err) \
          ((SOMEPOINTER)(s))->VALID != SOMEVARIABLE \
        ? (err) \
        :
#else
  #define FOO(s,err)
Run Code Online (Sandbox Code Playgroud)

就是这样.我理解if/ else正在发生什么,但我不确定第一个宏定义FOO是做什么的.显然有一个三元操作正在进行,但我很好奇,->因为我在网上找不到它的引用.我也很好奇这里似乎没有任何返回值.如果不管结果如何都没有返回,那么进行比较的重点是什么?说实话,那里的"\"家伙也吓坏了我.

c macros multiline

6
推荐指数
1
解决办法
148
查看次数

标签 统计

c ×1

macros ×1

multiline ×1