网站首页 > 基础教程 正文
结构体的各种使用方法详细讲解-c\c++
结构体
什么是结构体?
结构体就是自己自定义的一种"数据类型"
使用多个基本数据类型或者其他结构组成的一种新的"数据类型"
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方式:
输出结果:
结构体中包含结构体:
输出结果为:
更多技术分享与交流欢迎加入C/C++学习交流群:587250700
猜你喜欢
- 2024-12-30 C++ 在编程语言谱系中的位置及其特点
- 2024-12-30 C++基础知识总结(超详细总结) c++ 基础
- 2024-12-30 [面试]C++中struct和class的区别是什么
- 2024-12-30 C++类和C语言的结构体有什么区别?linux C++第18讲
- 2024-12-30 C与C++利用pragma pack对结构体做成员打包对齐设置
- 2024-12-30 结构体所占内存大小 结构体所占内存大小是所有成员所占的内存字节数计算
- 2024-12-30 C++,结构体和类,结构体和类的区别,struct与class的区别
- 2024-12-30 C++编程:复合数据类型—结构体 c语言结构体复数运算
- 2024-12-30 C#与C++交互开发系列之复杂类型传递与解析
- 2024-12-30 C#和C++混合编程开发示例 c#,c++,c
- 最近发表
- 标签列表
-
- gitpush (61)
- pythonif (68)
- location.href (57)
- tail-f (57)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- css3动画 (57)
- c#event (59)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- exec命令 (59)
- canvasfilltext (58)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- node教程 (59)
- console.table (62)
- c++time_t (58)
- phpcookie (58)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)