C語言結構體初始化

2021-08-15 05:04:01 字數 777 閱讀 8168

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         std2.name = "jack";

24         std2.age = 19;

25 26 

27         //number three:先定義再一起初始化

28         struct studen std3;

29         std3 = (struct studen);

30 //!warning:結構體和陣列在這裡區別:陣列不能先定義再進行一次性初始化

31         //number four:指定資料賦值給指定屬性

32         struct studen std4 = ;

33 //獲取結構體的屬性

34         printf("myname is : %s ,id :%d , age : %d\n",std1.name,std1.id,std1.age);

35         return 0;

36 }

C語言結構體的初始化

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

C 結構體初始化

今天在看mfc結構時,順便看了看 深入淺出mfc 發現有這麼一行 m pmainwnd new cmyframewnd 乍一看,很正常啊,再仔細一看,貌似 new cmyframewnd 的時候少了一對括號。奇怪!之後又翻了翻書,發現好多處都是這樣的。難道我弄錯了,不可能啊,一般情況下在new乙個新...

c 結構體初始化

在 系統程式設計師成長計畫 看到的,好像有點道理。宣告 struct s 習慣的初始化 struct s h 這種初始化是按結構體成員宣告的順序進行初始化的,即利用了struct記憶體布局的方法。若struct成員順序被修改了,初始化將引入隱患。幸運的話會收到編譯器的warning或error,否則...