本节内容 结构体
1、思考题: 请将你的年龄存入计算机,你会怎么做?//char 请将你的个人信息(包括年龄,性别,姓名)存入计算机,你会怎么做?//int 当你需要一个容器能够存储100个2个字节的数据,你会怎么做?//short arr[100] 当你需要一个容器能够存储5个数据,这5个数据有1字节的,有2字节的,有10字节的。。你会怎么做?
2、我需要这样一个容器: 生命 魔法 技能 经验 血值 等级 移动速度 名称 int int int int int int float char[0x20] char = 容器 int = 容器 数组 = 容器 结构体 = 容器
3、结构体类型的定义: struct 类型名{ //可以定义多种类型 int a; char b; short c; }; <1> char/int/数组 等是编译器已经认识的类型:内置类型 <2> 结构体是编译器不认识的,用的时候需要告诉编译器一声:自定义类型 <3> 上面的代码仅仅是告诉编译器我们自己定义的类型是什么样的,本身并不占用内存。
4、结构体类型的定义: struct st1 { char a; short b; int arr[10]; }; struct st2 { char a; short b; st1 s; }; 说明: 结构体在定义的时候,除了自身以外,可以使用任何类型。
5、结构体类型变量的定义: struct stPoint { int x; int y; }; //结构体类型 变量名; <1> struct stPoint stPoint; <2> struct stPoint point = {10,20}; struct stStudent { int stucode; char stuName[20]; int stuAge; char stuSex; }; struct stStudent student = {101,"张三",18,'M'};
6、结构体类型变量的读写: struct stPoint { int x; int y; }; stPoint point = {10,20}; //读 //写 x = point.x; point.x = 100; y = point.y; point.y = 200; //不能这样用? int x = point 或者 point = y; //狸猫不是太子 //都是太子可以吗?
7、定义结构体类型的时候,直接定义变量 struct stPoint { int x; int y; }point1,point2,point3; //这种方式是分配内存的,因为不仅仅是定义新的类型, //还定义了3个全局变量 point1.x = 1; point1.y = 2; point2.x = 3; point2.y = 4; point3.x = 5; point3.y = 6;
0512-57882866 www.bcdaren.com 昆山爱达人 1250121864 昆山爱达人信息技术有限公司 视频录制: 视频提供 视频录制: 联系电话: 0512-57882866 官网地址: www.bcdaren.com 联系公众号: 昆山爱达人 联系QQ: 1250121864 编程达人APP: