C语言基本语法——结构体、联合和枚举

  一、结构体

  1、什么是结构体

  2、结构体语法格式

  3、结构体所占内存空间

  4、结构体成员赋值

  二、联合

  1、什么是联合

  2、联合语法格式

  三、枚举

  1、什么是枚举

  2、枚举语法格式

一、结构体

  1、什么是结构体

  • 是一种数据类型

  • 由程序员自定义的数据类型

  • 结构体内可以包含不同类型的成员

  2、结构体语法格式

struct{

  成员;

}变量名;

typedef struct {
  int age;

  char name[20];

}Student2;//别名

  3、结构体所占内存空间

  • 字符对齐规则

-找出占存储空间最大的成员

-以其为单位分配存储空间

-每个成员存放在偏移量对该成员所占字节数取余为0处

  4、结构体成员赋值

int main(int argc, const char * argv[]) {

  struct{

    int i;

    char ch;

    double d;

  }s;

  s.i = 10;

  s.ch = 'A';

  s.d = 3.14;

  printf("%d, %c, %g\n", s.i, s.ch, s.d);

  return 0;

}

二、联合

  1、什么是联合

  • 联合的用法、语法和结构非常相似,但联合中所有成员分配 的内存是同一块。(只能保存一个成员信息,联合的空间以 最大成员所占的空间为值)

  • 联合可以用一块内存对应多种数据类型

  • 联合与结构的区别,结构可以保存多个成员信息,而联合只能保存一个成员信息且最后一个。

  2、联合语法格式

typedef union {

  int age;

  char name[2];

}LianHe;

  

三、枚举

  1、什么是枚举

  • 用字母来描述一组有规律的数值。

  • 枚举的默认值从0开始 ,每个值都是一个整型常量

  • 只能在声明枚举的时候,修改枚举值

  • 修改后的枚举值=上一枚举值加1

  2、枚举语法格式

-enum Week {MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY};

-typedef enum {FALSE, TRUE} BOOL;

猜你喜欢

转载自www.cnblogs.com/yyt-hehe-yyt/p/9016191.html