c++语言 结构体初始化,结构体变量初始化

本文详细介绍了C/C++中数组和结构体的初始化方法,包括数组的一般初始化方式和结构体成员变量的初始化。示例展示了如何初始化整型数组和结构体类型变量,同时也提到了部分成员变量初始化的情况以及各基本数据类型的默认初始化值。此外,还提及了结构体变量的三种定义方式及其对应的初始化形式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数组的初始化,需要通过一常量数据列表,对其数组元素分别进行初始化,形式如下:

数据类型 数组名称[数组长度]={初始化值1,初始化值2,…, 初始化值n};

例如,定义长度为5的整型数组,并对其初始化的语句如下:

int A[5]={20,21,0,3,4};

结构体变量的初始化方式与数组类似,分别给结构体的成员变量以初始值,而结构体成员变量的初始化遵循简单变量或数组的初始化方法。具体的形式如下:

struct 结构体标识符

{

成员变量列表;

};

struct结构体标识符 变量名={初始化值1,初始化值2,…, 初始化值n };

例如,定义struct Point类型变量,并初始化的语句如下:

struct Point oP1={0.0,0.2,0.3};

struct Point类型变量oP1的三个成员变量的值分别为

oP1.x=0.0,

oP1.y=0.2

oP1.z=0.3

由于定义结构体变量有三种方法,因此初始化结构体变量的方法对应有三种,上面已经介绍了其中的一种形式,其他两种形式如下:

struct Point

{

double x;

double y;

double z;

} oP1={0.0,0.2,0.3}; struct

{

double x;

double y;

double z;

} oP1={0.0,0.2,0.3};

在初始化结构体变量时候,既可以初始化其全部成员变量,也可以仅仅对其中部分的成员变量进行初始化。例如:

struct Student

{

long id;

char name[20];

char sex;

}a= {0};

其相当于a.id=0;a.name=“”;a.sex=‘\0x0’。

仅仅对其中部分的成员变量进行初始化,要求初始化的数据至少有一个,其他没有初始化的成员变量由系统完成初始化,为其提供缺省的初始化值。

各种基本数据类型的成员变量初始化缺省值如下所示。

数据类型

缺省初始化值

Int

0

Char

‘\0x0’

float

0.0

double

0.0

char Array[n]

“”

int Array[n]

{0,0…,0}

对于复杂结构体类型变量的初始化,同样遵循上述规律,对结构体成员变量分别赋予初始化值。

posted on 2010-06-12 16:19 Tim 阅读(4070) 评论(1)  编辑 收藏 引用 所属分类: C/C++语言

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值