C言語における構造体(struct)乱順初期化


要旨:C言語における構造体の乱順初期化方法を簡単に紹介し、linuxカーネルでよく見られる.
キーワード:C言語構造体struct初期化
次のコードに示すように、
 1:  struct __st_t
 2:  {
 3:      int a;
 4:      int b;
 5:  };
 6:  
 7:  int main(void)
 8:  {
 9:      //    
10:      struct __st_t var1 = {
11:          .a = 1,
12:          .b = 2
13:      };
14:      
15:      //    
16:      struct __st_t var2 = {
17:          a:1,
18:          b:2
19:      };
20:  
21:      return 0;
22:  }

構造体_の場合st_t定義の変数は,2つの方式を用いて変数初期化を行った.方式1はC 99の新しい方式で、初期化プロジェクトを指定することができて、linux 2.6版のカーネルで主にこの方式を使って構造体に初期化します.方式2はGCCの拡張であり、linux 2.4版カーネルでは主にこの方式が使用されている.使用方法の1つを提案して、理由は明らかです.