结构体
定义:
关键字struct 【结构体名】{
类型标识符 成员名; //结构体里面不能直接对数据赋值
类型标识符 成员名;
。。。。。。
};
结构体的初始化赋值方式主要有四种方式:
1.关键字struct 【结构体名】变量名;
sprintf(变量名.成员名,“字符串”);//传递字符串
变量名.成员名 = 数值; //数值传递
2.关键字struct 【结构体名】变量名 = {输入传递的数值或字符串,要注意的是这样传递必须一一对应};
3.直接在结构体的后面先声明,之后再在main函数中赋值;
关键字struct 【结构体名】{
类型标识符 成员名; //结构体里面不能直接对数据赋值
类型标识符 成员名;
。。。。。。
}变量名;
4.这种方式就是直接在结构体后面声明并且进行赋值;
关键字struct 【结构体名】{
类型标识符 成员名; //结构体里面不能直接对数据赋值
类型标识符 成员名;
。。。。。。
}变量名 = {输入传递的数值或字符串,要注意的是这样传递必须一一对应};
还有一种无名结构体的定义方式,主要作用于一些权限的数据进行赋值,赋值必须在定义之后进行
关键字struct {
类型标识符 成员名; //结构体里面不能直接对数据赋值
类型标识符 成员名;
。。。。。。
}变量名;//(可以直接对变量进行赋值)
共用体:
定义:
关键字union 共用体名{
标识符 成员名;
标识符 成员名;
。。。。。。
}
赋值方式跟结构体大致相同,主要的特点是只能使用一条数据,不能使用一块数据;
还有就是他的最大内存长度等于共用体里面长度最长的字节;
共用体的引用方面有以下四点需要注意:
1.不能引用共用体变量,只能引用其成员;
2.共用体变量中作用的成员是最后存在的成员;
3.不能在定义公用变量时初始化;
这个问题好像有错,经过实践发现在定义公用变量时初始化,他还是可以运行的,最终结果也是正确的。
4.可以用用一个共用体变量为另一个变量赋值;
枚举型:
定义:
关键字enum 枚举型名 = {里面是数据或是其他的一些东西}; // 在大括号里面进行赋值是有效的
赋值:
关键字enum 枚举型名 变量名 = 要提取的数据;
typedef:
类型定义简单形式:
typedef type name;
跟#define的赋值方式有点相似,刚开始的时候都是在内存当中不占用地址的;
对这些知识点的理解当中也有掺杂一些游戏的制作流程,背包实践的大概方向:
1.首先得先把界面的一些东西显示出来;
2.给每个物品设定一个编号,每个编号里面可以存放的物品设定一个界限,
3.然后再创建一个数组把物品的编号全部给封装起来,
4.要是有的物品的数量为0的时候,可以重新排列一遍数组,把数量为0的给设为空,
5.物品的使用可以设定一个按钮,
东西背包嘛,肯定得要有物品的1.属性,2.使用,3.关掉界面
设定按钮,
6.如果是按下一之后就是打印出该物品的属性,在有选定的情况下才会显示属性,没有的话就可以提示一下,重新定义一个背包的界面,
7.按下二,就是使用了,可以在按下之后提示使用的物品数量,
8.选定,试用了多少背包里该物品减少相应的数量,
9.按下三,就把背包这个界面去掉,返回主页面或退出