C語言中結構體(struct)的幾種初始化方法
本文給大家總結的struct數據有3種初始化方法
1、順序
2、C風格的亂序
3、C++風格的亂序
下面通過示例代碼詳細介紹這三種初始化方法。
1)順序
這種方法很常見,在一般的介紹C的書中都有介紹。順序初始化的特點是: 按照成員定義的順序,從前到后逐個初始化;允許只初始化部分成員;在被初始化的成員之前,不能有未初始化的成員。
示例:
struct User oneUser = {10, "Lucy", "/home/Lucy"};
2)亂序(C風格)
順序的缺陷是必須按成員定義的順序逐個初始化,不能間隔。而亂序的方式則很好的解決了這個問題,因為這種方式是按照成員名進行。
示例:
struct User oneUser = { .name = "Lucy", .id = 10, .home = "/home/Lucy" };
3)亂序(C++風格)
C++風格的亂序初始化方式跟C風格的一樣,只是它更常用在C++代碼里。
示例:
struct User oneUser = { name:"Lucy", id:10, home:"/home/Lucy" };
注意:不論是哪種方式,都允許只初始化部分成員;未被初始化的成員默認為0(指針類型的成員默認為NULL)。兩種亂序初始化方法,即可以用在C代碼中,也可以用在C++代碼中。
以上就是這篇文章的全部內容,希望大家能夠喜歡,如果有疑問可以留言交流。
相關文章
文件編譯時出現multiple definition of ''xxxxxx''的具體解決方法
以下是對文件編譯時出現multiple definition of 'xxxxxx'的解決方法進行了詳細的分析介紹,如也遇到此問題的朋友們可以過來參考下2013-07-07