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

如题所述

第1个回答  2022-11-16
方法是在定义变量的同时给其一初始值。结构体变量的初始化,遵循相同的规律。\x0d\x0a简单变量的初始化形式如下:\x0d\x0a数据类型 变量名=初始化值;\x0d\x0a例如,定义整型变量a,并给其初始化值10的语句如下\x0d\x0aint a=10;\x0d\x0a数组的初始化,需要通过一常量数据列表,对其数组元素分别进行初始化,形式如下:\x0d\x0a数据类型 数组名称〔数组长度〕={初始化值1,初始化值2,?, 初始化值n};\x0d\x0a例如,定义长度为5的整型数组,并对其初始化的语句如下:\x0d\x0aint A[5]={20,21,0,3,4};\x0d\x0a结构体变量的初始化方式与数组类似,分别给结构体的成员变量以初始值,而结构体成员变量的初始化遵循简单变量或数组的初始化方法。具体的形式如下:\x0d\x0astruct 结构体标识符\x0d\x0a{\x0d\x0a成员变量列表;\x0d\x0a?\x0d\x0a};\x0d\x0astruct结构体标识符 变量名={初始化值1,初始化值2,?, 初始化值n };\x0d\x0a例如,定义struct Point类型变量,并初始化的语句如下:\x0d\x0astruct Point oP1={0.0,0.2,0.3};\x0d\x0astruct Point类型变量oP1的三个成员变量的值分别为\x0d\x0aoP1.x=0.0,\x0d\x0aoP1.y=0.2\x0d\x0aoP1.z=0.3\x0d\x0a由于定义结构体变量有三种方法,因此初始化结构体变量的方法对应有三种,上面已经介绍了其中的一种形式,其他两种形式如下:\x0d\x0astruct Point\x0d\x0a{\x0d\x0adouble x;\x0d\x0adouble y;\x0d\x0adouble z;\x0d\x0a} oP1={0.0,0.2,0.3}; struct \x0d\x0a{\x0d\x0adouble x;\x0d\x0adouble y;\x0d\x0adouble z;\x0d\x0a} oP1={0.0,0.2,0.3};\x0d\x0a在初始化结构体变量时候,既可以初始化其全部成员变量,也可以仅仅对其中部分的成员变量进行初始化。例如:\x0d\x0astruct Student\x0d\x0a{\x0d\x0along id;\x0d\x0achar name[20];\x0d\x0achar sex;\x0d\x0a}a= {0};\x0d\x0a其相当于a.id=0;a.name=“”;a.sex=‘\0x0’。\x0d\x0a仅仅对其中部分的成员变量进行初始化,要求初始化的数据至少有一个,其他没有初始化的成员变量由系统完成初始化,为其提供缺省的初始化值。
相似回答