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;
最新文章
- KRPano资源分析工具使用说明(KRPano XML/JS解密 切片图批量下载 球面图还原 加密混淆JS还原美化)
- 五句话搞定JavaScript作用域
- <;构建之法>;3-5章感想
- Redis常用的30个命令
- vb6 获取 http only 的 Cookie
- Linux下查看tcp连接数及状态
- CUDA入门1
- Python-S13作业-day4-之登陆,管理后台
- 谨以此错误警醒自己---java.lang.ClassNotFoundException:
- &#39;data-&#39;属性的作用是什么?
- 算法分析-插入排序INSERT_SORT与选择排序SELECT_SORT【线性方法】
- 原生js判断某个元素是否有指定的class名的几种方法
- Webserver管理系列:5、利用MSConfig排查木马
- 从0到上线开发企业级电商项目_前端_01_sublime使用技巧
- Scrapy爬取豆瓣电影top250的电影数据、海报,MySQL存储
- Egret获取和显示时间,年,月,日,时分秒
- 有时间研究一下Maven打包插件细节
- ES6走一波 Proxy/Reflect
- 远程连接报错“This could be due to CredSSP encryption oracle remediation.”
- 二叉树中和为某一值的路径(python)