C語言騷操作 結構體初始化方法

2021-08-26 17:51:55 字數 724 閱讀 3739

首先定義倆結構體:

typedef struct 

s0;typedef struct

s1;

首先想到的初始化方法是:

s0 s;

s.a0 = 1;

s.b0 = 2;

s1 ss;

ss.a1 = 3;

ss.b1 = 4;

ss.s0 = s;

或者是:

s0 s = ;

s1 ss= ;

但是很多人不知道其實還可以這樣初始化(用大括號括起來的病省略掉結構體名字的初始化方法,同樣適用於結構體陣列的初始化):

s0 s0 = ;

s1 s1[10] =

};

這種結構體陣列初始化不要太方便的說。直接用這個點省略繁瑣的結構體名,更有陣列直接使用省略號初始化。

整體的**:

#include #include typedef struct 

s0;typedef struct

s1;int main(int argc, char **argv);

s1 s1[10] =

}; printf("%d\n", s1[2].s0.a0);

return 0;

}

C語言結構體初始化

1 2 test.c 3 2018 1 30 4 5 include 6 7 struct studen 12 13 14 15 int main void 16 19 20 number two 先定義再乙個個初始化 21 struct studen std2 22 std2.id 120 23 ...

C語言結構體的初始化

今天在工作時,看到了奇葩的結構體初始化方式,於是我查了一下c99標準文件和gcc的說明文件,終於搞清楚是怎麼回事了。假設有如下結構體定義 typedef struct mystruct 那麼結構體的初始化方式如下有三種 1 c89的初始化方式 mystruct test 這種初始化的優點是語法簡單,...

C語言 陣列與結構體初始化方法

本文的測試均在vs2015的開發環境下測試。陣列與結構體初始化方法 假設結構體為 struct node 1.定義變數後,再初始化int array 5 array 0 0 array 1 1 array 2 2 array 3 3 array 4 4 也可以用迴圈來賦值 struct node n...