枚举,联合,结构体

枚举
也是程序员自己创建的一种数据类型
枚举常量可以替代宏,可以代替常量,增加程序可读性

//    重要用法是用于switch语句

//enum Week{}
//{}内不能有变量,只能是常量,而且枚举常量只能是整数不能是浮点数

typedef enum{
    MONDAY = 3,
    TUESDAY ,
    WEDNESDAY,
    THURDAY,
    FRIDAY,
    SATURDAY,
    SUNDAY,
}Week;
//    MONDAY = 3   // 一种对应关系,不是赋值


联合

typedef union{
    char ch[4];
    int x;
}Data;
  • 也是程序员自己创建的一种数据类型;可以节省内存空间,联合中的所有联合变量共用一块存储空间
    计算内存:

大端存储(右到左)
小端存储(左到右)

结构体;

struct Example{//成员个数不限
    int i;//成员变量
    char ch;
    double d;
};

struct Example s;//struct Example 是一个数据类型
 s.i = 10;//点是一个成员运算符
 s.ch = 'a';//结构体变量的成员,只能逐个操作,不能整体操作
 p->i = 30;//通过指针对成员变量赋值时需要使用" -> "这个成员运算符

Exmple1 s2[3] = {
            {10,'a',3.14},//每个变量有成员,所以都用{}括起来
            {20,'b',2.678},
            {30,'c',9.56875}
        };

结构体做函数形参:

typedef struct{
    char name[100];
    BOOL gender;
    int age;
}Person;

void setPerson(Person* p,char* name , BOOL gender,int age){
    strcpy(p->name, name);
    p->gender = gender;
    p->age = age;

#ifdef DEBUG1
    printf("调试:%s,%d,%d",p->name,p->gender,p->age);
    printf("
");
#endif
}
成功的三大原则: 1、坚持 2、不要脸 3、坚持不要脸
原文地址:https://www.cnblogs.com/xulinmei/p/7443690.html