C语言学习12

    xiaoxiao2025-12-04  4

    结构体

    定义:

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

    
    转载请注明原文地址: https://ju.6miu.com/read-1304598.html
    最新回复(0)