结构体如何初始化赋值

发布日期:

关于结构体初始化

结构体变量简称为结构变量,它由结构类型定义,有三种定义方法。下面以定义结构类型 book 和结构变量mybook 、 storybook 为例说明之。 先定义结构类型,再定义结构变量。

也可以采取申明类型与定义变量分开的形式,在定义变量时进行初始化:student student1 = {10001,zhangxin} 。在C语言中,结构体(struct)指的是一种数据结构,是C语言中聚合数据类型(aggregate data type)的一类。

使用构造函数。在C++中,struct可以当做类(class)来使用,同样支持成员函数,构造函数,析构函数。所以可以写对应的构造函数,实现自由初始化。2 定义时,按照成员变量位置,写初始化列表。

结构体也可以有构造函数,用默认构造函数就可以在new数组的时候初始化。如果需要成员有初始值,则需要写构造函数,否则直接memset初始化为0即可。

如何对结构体变量进行初始化?

1、方法是在定义变量的同时给其一初始值。结构体变量的初始化,遵循相同的规律。

2、使用构造函数。在C++中,struct可以当做类(class)来使用,同样支持成员函数,构造函数,析构函数。所以可以写对应的构造函数,实现自由初始化。2 定义时,按照成员变量位置,写初始化列表。

3、也可以采取申明类型与定义变量分开的形式,在定义变量时进行初始化:student student1 = {10001,zhangxin} 。在C语言中,结构体(struct)指的是一种数据结构,是C语言中聚合数据类型(aggregate data type)的一类。

4、在C++中,结构体与类在使用上已没有本质上的区别了,所以可以使用构造函数来初始化。

5、i;这样写,i的值是上一次栈内存上运行的结果,而不是初始化赋予的值。struct{ int a;char b;}st={3,s};printf(%d\t%d\n,st.a,st.b);这样写在gcc上完全没错,输出3 155。

结构体变量的初始化

使用构造函数。在C++中,struct可以当做类(class)来使用,同样支持成员函数,构造函数,析构函数。所以可以写对应的构造函数,实现自由初始化。2 定义时,按照成员变量位置,写初始化列表。

结构体变量如果是局部变量,需要初始化,否则初值是随机的。 新型数据结构,可以用初始化函数来实现初始化。之前C语言应该也是一样。取决于结构体变量的使用位置,局部的应该初始化。

//构造函数初始化 Stu(){ nNum = 0;bSex = false;memset(szName,0,sizeof(szName));memset(szEmail,0,sizeof(szEmail));} };你可能已经发现了,如果结构体中有大量成员,一个个赋值,相当麻烦。