c語言 struct 的初始化



struct數據有3中初始化方法:順序,C風格及C++風格的亂序。

1)順序 
這種方法很常見,在一般的介紹C的書中都有介紹。順序初始化的特點是: 按照成員定義的順序,從前到后逐個初始化;允許只初始化部分成員;在被初始化的成員之前,不能有未初始化的成員。 
eg: 

struct User oneUser = {10, "Lucy", "/home/Lucy"}; 

2)亂序(C風格)

順序的缺陷是必須按成員定義的順序逐個初始化,不能間隔。而亂序的方式則很好的解決了這個問題,因為這種方式是按照成員名進行。
eg: 

struct User oneUser = { 
                        .name = "Lucy",  
                        .id = 10, 
                        .home = "/home/Lucy" 
                      }; 

3)亂序(C++風格) 
C++風格的亂序初始化方式跟C風格的一樣,只是它更常用在C++代碼里。 
eg: 

struct User oneUser = { 
                                 name:"Lucy",  
                                 id:10, 
                                 home:"/home/Lucy" 
                               }; 

 

 

注:

不論是哪種方式,都允許只初始化部分成員;未被初始化的成員默認為0(指針類型的成員默認為NULL)。兩種亂序初始化方法,即可以用在C代碼中,也可以用在C++代碼中。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM