C语言学习12

结构体

定义:

关键字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.按下三,就把背包这个界面去掉,返回主页面或退出



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值