结构体

什么是结构体

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

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

*
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,
【JAVA】【华为校园招聘笔试-软件】2020-09-09 mysql无备份恢复实验11-1-6 指定位置输出字符串 (20 分)Golang数组平分,数组拆分,数组分组pytorch之ResNet18(对cifar10数据进行分类准确度达到94%)keras从dataframe中读取数据并进行数据增强进行训练(分类+分割)springboot多配置文件配置c语言玫瑰告白代码Vue开发小技巧airflow问题系列2 —— task保持running假死状态