结构体

什么是结构体

*
结构体就是自己自定义的一种"数据类型"

*
使用多个基本数据类型或者其他结构组成的一种新的"数据类型"

*
C语言结构体(Struct)从本质上讲是一种自定义的数据类型,只不过这种数据类型比较复杂,是由 int、char、float
等基本类型组成的。你可以认为结构体是一种聚合类型。

在实际开发中,我们可以将一组类型不同的、但是用来描述同一件事物的变量放到结构体中。

为什么要使用结构体

*
表示一些复杂的信息比如学生的各种"成绩","科目","姓名",游戏的的各种"金币","积分",

"宝石"

单纯用基本数据类型使用不方便,代码的灵活性很低

 

结构体的定义

struct 结构名 {

成员类型 成员名;

成员类型 成员名;

};

实例

struct student {

int name[16]; //姓名

int age; //年龄

int tel; //电话

};

温馨提示

*
各成员之间要以分号隔开;

*
结构体结尾要以分号结束;

结构体里包含结构体

*
实例

struct student {

int name[16];

int age;

int tel;

};

struct _class {

struct student xiaohua;

struct student heige;

struct student xiaohong;

};

结构体的初始化

struct student {

int name[16];

int age;

int tel;

};

*
方式一

struct student xiaohua = {"xiaohua",18,10086};

*
方式二

strcut student xiaohua ;

strcpy(xiaohua.name,"xiaohua");

xiaohua.age = 18;

xiaohua.tel = 10086;

初始化结构体中包含结构体

struct student {

int name [16];

int age;

int tel;;

};

struct _class {

struct student xiaohua;

struct student xiaohua;

struct student xiaohua;

};

 

struct _class n1= {

{"xiaohua",18,10086},

{"xiaohong",15,10086},

{"xiaohei",17,10086},

};

 

 

温馨提示

strcpy();在vs2019中需要添加_s,如:strcpy_s();

如果不添加会出现一下错误:

*

 

原因:

*
是因为vs认为函数strcpy();不安全,推荐使用vs自己的函数;

 

结构体的使用

*
c++方式:

*

 

*
输出结果:

*

 

*
C方式:

*

 

*
输出结果:

*

 

*
结构体中包含结构体:

*

 

*
输出结果为:

*

技术
©2019-2020 Toolsou All rights reserved,
html写樱花树,写樱花树的作文java四大函数式接口(重点,简单)某东14薪变16薪,是诚意还是套路?os模块的简单使用HashMap详解让人意想不到的Python之樱花树(turtle库的华丽样式)浏览器内核(理解)