结构体里面带结构体的变量怎么初始化

 我来答
comity3016
2015-12-18 · TA获得超过2655个赞
知道小有建树答主
回答量:2175
采纳率:18%
帮助的人:181万
展开全部
方法是在定义变量的同时给其一初始值。结构体变量的初始化,遵循相同的规律。
简单变量的初始化形式如下:
数据类型 变量名=初始化值;
例如,定义整型变量a,并给其初始化值10的语句如下
int a=10;
数组的初始化,需要通过一常量数据列表,对其数组元素分别进行初始化,形式如下:
数据类型 数组名称〔数组长度〕={初始化值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’。
仅仅对其中部分的成员变量进行初始化,要求初始化的数据至少有一个,其他没有初始化的成员变量由系统完成初始化,为其提供缺省的初始化值。
紫冰雨的季节
2015-11-27 · TA获得超过7.8万个赞
知道大有可为答主
回答量:1.4万
采纳率:91%
帮助的人:1529万
展开全部
1 /*结构体的赋值和初始化*/
2
3 # include <stdio.h>
4
5 struct Student
6 {
7 int age;
8 float score;
9 char sex;
10 };
11
12 int main(void)
13 {
14 struct Student st = { 80, 66.6, 'F'};//定义同时就赋值
15 struct Student st2;//下一行不能写一句类似于st2 = { 10, 88, 'M'};的语句,除非定义时就赋值。
16 st2.age = 10;
17 st2.score = 88;
18 st2.sex = 'M';
19
20 printf("%d , %f, %c\n", st.age, st.score, st.sex);
21 printf("%d , %f, %c\n", st2.age, st2.score, st2.sex);
22
23 return 0;
24 }
25 /*
26 在Vc++6.0中显示的结果是:
27 =========================================
28 80 , 66.599998, F
29 10 , 88.000000, M
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一骑当后
2015-02-16 · 知道合伙人数码行家
一骑当后
知道合伙人数码行家
采纳数:40298 获赞数:306442
网络、设备维护、电路、弱电检测。

向TA提问 私信TA
展开全部
  如果仅仅对部分的成员变量进行初始化,要求初始化的数据至少有一个,其他没有初始化的 成员变量由系统完成初始化,为其完成初始值。各种基本数据类型的成员变量初始化缺省值为:
  整型:int:0
  字符型:char:‘\0x0’
  浮点型:float:0.0
  双精度型:double:0.0
  字符数组:char array[n]:""
  整型数组:int array[n]:{0,0,0、、、,0}
  转载,仅供参考。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式