C語言中結構體(struct)的幾種初始化方法


 

本文給大家總結的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++代碼中。

以上就是這篇文章的全部內容,希望大家能夠喜歡,如果有疑問可以留言交流。


免責聲明!

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



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