3

「UNIXNETWORKPROGRAMMING」(v2、pg162)という本の構造体のこの定義について質問があります。これは次のとおりです。

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

共有した後、コードが理解できませんでした。それは本当にどういう意味ですか?前もって感謝します

4

2 に答える 2

7

コードstruct { ... } shared = { PTHREAD_MUTEX_INITIALIZER }は、構造体型shared、前述の構造体型の型の変数を定義します。次に、パーツ= { PTHREAD_MUTEX_INITIALIZER }はこの変数を初期化します。最初のコンポーネントはPTHREAD_MUTEX_INITIALIZERゼロで、残りはゼロです。

于 2013-01-09T01:47:12.703 に答える
2

これはマクロです。詳細はこちらをご覧ください。

PTHREAD_MUTEX_INITIALIZERマクロ

これは、属性をデフォルト値に設定してミューテックスを初期化するために使用されます。

于 2013-01-09T01:43:39.230 に答える