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++代码中。

原文链接: https://www.cnblogs.com/silentjesse/p/3225212.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/97896

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月10日 上午4:29
下一篇 2023年2月10日 上午4:29

相关推荐