首页 > 编程知识 正文

初始化结构体指针数组,c++知识点总结

时间:2023-05-05 05:24:05 阅读:114495 作者:4196

《代码大全》建议在变量定义时初始化,但是很多人,特别是新人,不初始化结构体或结构体数组定义,或者不知道如何初始化。

1、初始化

typedef struct _TEST_T {

int i;

char c[10];

}TEST_T;

TEST_T gst={1," 12345”} "; //可以初始化,I为1,s为字符串。

TEST_T gst={1}; //如果初始化个数少于实际个数,则只初始化前一个成员。

test _ tgst={.c=“12345”}; //有选定的初始化成员。

2、复合字面量。

GST={test_t}{122,“1256”}; //这是赋值语句,也可以用作初始化。 它会出现在程序的任何地方。

当然,也可以使用复合字面初始化。

GST=(test_t ) ).{.i=122, c="123 ";

3、结构体排列

可以用多个大括号括起来。

TEST_T gst[10]={{},{},{}}

也可以初始化其中一个元素。

TEST_T gst[10]={[2]={},[3]={}}

也可以使用复合字面的量。

TEST_T gst[10]={[2].i=0,[3].i={}}

为什么要初始化:

1、局部变量初始化可以防止随机值造成的危害。

2 .全局变量初始化可以告诉编译器它是定义而不是声明。 (如果两个c具有相同的全局变量定义且未初始化,编译器将第二个视为声明而不是定义。 )

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。