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