码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2018-05-09 20:55:18      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:基本语法   信息   基本   nes   page   最大   out   内存   false   

  一、结构体

  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;

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

标签:基本语法   信息   基本   nes   page   最大   out   内存   false   

原文地址:https://www.cnblogs.com/yyt-hehe-yyt/p/9016191.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!