c语言的枚举(遍历枚举)与数据类型总结
一、枚举的概念
枚举是C语言中的一种基本数据类型,并不是构造类型,它可以用于声明一组常数。当一个变量有几个固定的可能取值时,可以将这个变量定义为枚举类型。
比如,你可以用一个枚举类型的变量来表示季节,因为季节只有4种可能的取值:春天、夏天、秋天、冬天。
二、枚举类型的定义
一般形式为:enum 枚举名 {枚举元素1,枚举元素2,……};
enum Season {spring, summer, autumn, winter};
三、枚举变量的定义
前面只是定义了枚举类型,接下来就可以利用定义好的枚举类型定义变量,跟结构体一样,有3种方式定义枚举变量
1.先定义枚举类型,再定义枚举变量
enum Season {spring, summer, autumn, winter}; enum Season s;
2.定义枚举类型的同时定义枚举变量
enum Season {spring, summer, autumn, winter} s;
3.省略枚举名称,直接定义枚举变量
enum {spring, summer, autumn, winter} s;
上面三种方式定义的都是枚举变量s
四、枚举使用的注意
1> C语言编译器会将枚举元素(spring、summer等)作为整型常量处理,称为枚举常量。
2> 枚举元素的值取决于定义时各枚举元素排列的先后顺序。默认情况下,第一个枚举元素的值为0,第二个为1,依次顺序加1。
#include <stdio.h> int main()
{
// 1.定义枚举类型
enum Season
{
spring,
summer,
autumn,
winter
}; // 2.定义枚举变量
enum Season s = winter; printf("%d\n", s); return ;
}
打印结果为:3
也就是说spring的值为0,summer的值为1,autumn的值为2,winter的值为3
3> 也可以在定义枚举类型时改变枚举元素的值
#include <stdio.h> int main()
{
// 1.定义枚举类型
enum Season
{
spring = ,
summer,
autumn,
winter
}; // 2.定义枚举变量
enum Season s = winter; printf("%d\n", s); return ;
}
打印结果为:4
没有指定值的枚举元素,其值为前一元素加1。
五、枚举变量的基本操作
1.赋值
可以给枚举变量赋枚举常量或者整型值
#include <stdio.h> int main()
{
// 1.定义枚举类型
enum Season {spring, summer, autumn, winter} s; // 2.定义枚举变量
s = spring; // 等价于 s = 0;
printf("%d\n", s); s = winter;//等价于s = 3;
printf("%d\n", s); return ;
}
打印结果 0
3
2.遍历枚举元素
enum Season {spring, summer, autumn, winter} s; // 遍历枚举元素
for (s = spring; s <= winter; s++) {
printf("枚举元素:%d \n", s);
}
输出结果: 枚举元素:0
枚举元素:1
枚举元素:2
枚举元素:3
数据类型总结
一、基本数据类型
1.int
1> long int、long:8个字节 %ld
2> short int、short:2个字节 %d %i
3> unsigned int、unsigned:4个字节 %zd
4> signed int、signed、int:4个字节 %d %i
2.float\double
1> float :4个字节 %f
2> double:8个字节 %f
3.char
1> 1个字节 %c %d
2> char类型保存在内存中的是它的ASCII值
'A' --> 65
二、构造类型
1.数组
1> 只能由同一种类型的数据组成
2> 定义:数据类型 数组名[元素个数];
2.结构体
1> 可以由不同类型的数据组成
2> 先定义类型,再利用类型定义变量
三、指针类型
1.变量的定义
int *p;
2.间接操作变量的值
int a = 10;
p = &a;
*p = 20;
四、枚举类型
使用场合:当一个变量只允许有几个固定取值时
c语言的枚举(遍历枚举)与数据类型总结的更多相关文章
- 2019-8-31-C#-遍历枚举
title author date CreateTime categories C# 遍历枚举 lindexi 2019-08-31 16:55:58 +0800 2018-03-13 20:42:2 ...
- 知识点:C语言进阶提高篇,自定义数据类型:枚举
一.枚举的概念 枚举是C语言中的一种基本数据类型,并不是构造类型,它可以用于声明一组常数.当一个变量有几个固定的可能取值时,可以将这个变量定义为枚举类型.比如,你可以用一个枚举类型的变量来表示季节,因 ...
- C语言第十讲,枚举类型简单说明
C语言第十讲,枚举类型简单说明 一丶C语言中的枚举类型(ENUM) 在我们实际工作中,或者编写代码中.我们有的时候会用固定的值.而且不是很多. 这个时候就可以使用枚举了.如果我们使用#define显然 ...
- .NET反射简单应用———遍历枚举字段
反射(Reflection)是一个非常强大的工具,可以用来查看和遍历类型和类型成员的元数据:动态创建类型实例,动态调用所创建的实例方法.字段.属性:迟绑定方法和属性.此次要介绍的是使用反射查看类型成员 ...
- VM页面中遍历枚举类
1)自定义的枚举类如下所示: public enum BusType { MID_SMALL(1, "中小件"), FRESH(2, "生鲜"), GLOBAL ...
- C# 遍历枚举(枚举是目的,遍历(获取)是手段)
C# 遍历枚举 C#中,如何获取(遍历)枚举中所有的值: public enum Suits { Spades, Hearts, Clubs, Diamonds, NumSuits } priva ...
- C# 遍历枚举
C#中,如何获取(遍历)枚举中所有的值: public enum Suits { Spades, Hearts, Clubs, Diamonds, NumSuits } private static ...
- Java Enum枚举 遍历判断 四种方式(包括 Lambda 表达式过滤)
示例代码如下: package com.miracle.luna.lambda; import java.util.Arrays; /** * @Author Miracle Luna * @Date ...
- 吴裕雄--天生自然C语言开发:enum(枚举)
enum DAY { MON=, TUE, WED, THU, FRI, SAT, SUN }; enum DAY { MON=, TUE, WED, THU, FRI, SAT, SUN }; en ...
随机推荐
- PHP之回调函数传参(解决eval函数拼接对象参数的问题)
在使用Smarty时,定义了一个统一调用控制器的函数,如下: function C($name, $method){//控制器的名称和其中方法的名称 require_once "contro ...
- VS连接数据库的通用方法(SQL/MySql)
在vs里面连接数据库的方法有很多,这里是通用的方法和基本操作 SQL /// <summary> /// 数据访问抽象基础类 /// Copyright (C) Maticsoft /// ...
- go基础编程 day-2
Go的常亮 关键字: Const Go常亮的多个定义: // 定义常亮的关键字 const // 定义多个常亮 const( PI = 3.14 const1 = " const2 = co ...
- vue2.0 练习项目-外卖APP(1)
前言 vue这个框架现在挺流行的,作为一个专注前端100年的代码爱好者,学习下路径流行的框架是必须的!在网上搜索vue的项目是比较少的,在官网进行了入门学后,没有一个项目练习巩固下,学了就等于没学,所 ...
- 利用Dropbox同步Arch下一些软件的配置文件
一些软件后要好好的配置一番才能好好为自己所用,比如vim,比如conky等等,但是万一系统真出了问题,或者硬盘跪了,要重新安装系统重新配置的时候真是一种折磨,前阵子想到如果用dropbox同步那些配置 ...
- Mysql Explain 参数解释
查询计划使用以及使用说明 table:显示这一行数据是关于哪张表的. type:显示使用了何种类型,从最好到最差的连接类型为system.const.eq_ref.ref.fulltext.ref_o ...
- mybatis generator eclipse插件的安装
mybatis generator 可以提高开发速度,这个插件可以自动生成代码,创建DAO层相关代码,就像利用HIbernate反相生成一样,安装前可以先到百度网盘下载: 文件:MyBatisGene ...
- 快速部署Telegraf & Influxdb
是什么? Telegraf 是一个用 Go 编写的代理程序,可收集系统和服务的统计数据,并写入到 InfluxDB 数据库.Telegraf 具有内存占用小的特点,通过插件系统开发人员可轻松添加支持其 ...
- 用source语句引用mysql文件的细节注意
今天在使用 mysql数据库的时候,创建 数据表的时候出现了很多的小问题,今天一天花费了大量的时间去解决这些问题.首先就是一些小的细节,在文本编辑器上编辑好了SQL语句,然后转移到mysql的命令行中 ...
- 用css属性画出一棵圣诞树
对于学习前端的童鞋,css的掌握是必须的.今天就来实现用css画出一棵圣诞树. 主要练习的是css里面border的练习与掌握程度. 在body创建一个主区域<div></div&g ...