【问题标题】:What's the syntax of following c define?以下c define 的语法是什么?
【发布时间】:2023-02-13 22:55:18
【问题描述】:

以下sn-p来自mac sdk signal.h

#define sigemptyset(set)    (*(set) = 0, 0)

只是想知道, 0) 是做什么的?

【问题讨论】:

标签: c


【解决方案1】:

该宏扩展为一个逗号表达式,该表达式设置set 指向的对象并计算其右操作数,即:0

换句话说,宏的行为就像一个函数,它总是返回由返回值 0 指示的成功。

【讨论】:

    【解决方案2】:

    在这个表达式中

    (*(set) = 0, 0)
    

    使用逗号运算符。

    表达式的结果为 0。

    作为副作用,指针 set 指向的对象被设置为 0。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-25
      • 1970-01-01
      • 2012-06-29
      • 1970-01-01
      • 2011-08-22
      • 2016-11-16
      相关资源
      最近更新 更多