C语言知识补充

注意:宏定义的新名字在左边 typedef在右边   

           宏定义不带分号 typedef带分号

           宏定义什么名字都可以换,typedef只给变量类型换名字

           不要无脑宏定义,它可不管“对不对”

数组只能组合相同类型的数据,结构体可以打包不同数据类型

#include<stdio.h>

int main(void)

{

        struct{char x; int y; float z }  c; //定义一个结构体变量叫c,其中包含char 型的x int 型的y float型的z

        c . x = 'A';//引用结构体成员

        c. y = 66;

        c. z = 1.23;

        printf("c.x=%c\n",c.x);

        printf("c.y=%d\n",c.y);

        printf("c.z=%f\n",c.z);

}

但是struct名字太长了,typedef起新名字。

typedef struct{

        char x;

        int y;

        float z;

}StructName_t;

所以我们可以这样写:

#include<stdio.h>

typedef struct{

                            char x;    绿色的是结构体数据类型(告诉我们 结构体数据有啥玩意构成的)

                             int y;

                             float z;

                        }StructName_t;    // 给结构体类型换个新名字,方便称呼

注意 对 ''结构体类型名'' "结构体变量名"区分??

int main(void)

{

       StructName_t c;   // 前面是结构体类型名 后面是结构体变量名称??

        c . x = 'A';//引用结构体成员

        c. y = 66;

        c. z = 1.23;

        printf("c.x=%c\n",c.x);

        printf("c.y=%d\n",c.y);

        printf("c.z=%f\n",c.z);

}

记得学习指针

C语言枚举

例1. typedef enum{

                        FALSE=0,       

                         TRUE=1}Able_t

int main()

{

        Able_t able;

        able=FAlSE;

        able=TRUE;

}

例2.

FunctionalState a;

a=ENABLE;

a=DISABLE;

不能写 a=0; 可以  强制类型转换: a=(FunctionalState)0

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值