首頁>Club>
9
回覆列表
  • 1 # r九日

    方法一:定義時賦值

    struct InitMember test = {-10,3.141590,"method one",0.25};

    1

    需要注意對應的順序,不能錯位。

    方法二:定義後逐個賦值

    struct InitMember test;

    test.first = -10;

    test.second = 3.141590;

    test.third = "method two";

    test.four = 0.25;

    因為是逐個確定的賦值,無所謂順序啦。

    方法三:定義時亂序賦值(C風格)

    這種方法類似於第一種方法和第二種方法的結合體,既能初始化時賦值,也可以不考慮順序;

    struct InitMember test = {

    .second = 3.141590,

    .third = "method three",

    .first = -10,

    .four = 0.25

    };

    這種方法在Linux核心(kernel)中經常使用,在音影片編解碼庫FFmpeg中也大量頻繁使用,還是很不錯的一種方式。

    方法四:定義時亂序賦值(C++風格)

    這種方法和前一種類似,網上稱之為C++風格,類似於key-value鍵值對的方式,同樣不考慮順序。

    struct InitMember test = {

    second:3.141590,

    third:"method three",

    first:-10,

    four:0.25

    };

  • 中秋節和大豐收的關聯?
  • 劉德華《相思成災》這首歌好聽嗎?