【问题标题】:A definition of a struct in cc中结构的定义
【发布时间】:2013-01-09 01:41:44
【问题描述】:

我只是对“UNIX NETWORK PROGRAMMING”(v2,pg162)一书中的结构定义有疑问 这里是:

struct {
    pthread_mutex_t mutex
    int buff[MAXNITEMS];
    int nput;
    int nval;
} shared= { 
    PTHREAD_MUTEX_INTIALIZER
};

分享后代码看不懂。它的真正含义是什么? 提前致谢

【问题讨论】:

    标签: c networking network-programming


    【解决方案1】:

    代码struct { ... } shared = { PTHREAD_MUTEX_INITIALIZER }定义了一个结构体类型一个上述结构体类型的变量shared。然后= { PTHREAD_MUTEX_INITIALIZER } 部分初始化这个变量,它的第一个部分是PTHREAD_MUTEX_INITIALIZER,其余部分为零。

    【讨论】:

    • 其他详细信息:变量“shared”的第一个成员变量“mutex”正在初始化为 PTHREAD_MUTEX_INITIALIZER。其余变量(即数组 buff[MAXNITEMS]、nput、nval 中的每个单独元素)都初始化为零。
    【解决方案2】:

    这是一个宏,更多信息在这里:

    PTHREAD_MUTEX_INITIALIZER Macro

    用于初始化互斥体,其属性为默认值。

    【讨论】:

      猜你喜欢
      • 2018-06-19
      • 2012-10-20
      • 1970-01-01
      • 1970-01-01
      • 2011-10-11
      • 2011-01-11
      • 2021-12-07
      • 1970-01-01
      • 2010-10-05
      相关资源
      最近更新 更多