首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    C语言(枚举类型)

    C语言中的枚举类型常年跑龙套当配角,不受待见,这当然是有其个人原因的。今天来个小知识,看看枚举为什么那么衰,也顺便看看怎么用。 我们先来回忆一下为什么需要枚举,枚举究竟是个什么东东?...这么看来,枚举是一种挺好玩也挺有用的东西,但是在C语言中怎么就不受待见了呢?...原因是C语言只提供了一种阉割版的枚举,以上两大目的在C中实质上都是没有实现的,也就是说,在C语言中,实际情况是这样的: color = blue; // 正确,此时color就是5 color = 5;...你看明白了吧,C语言中的所谓枚举其实就是个坑爹货,其实就是彻头彻尾的整型数据而已。...枚举的真正实现,在C++中才有实现。

    2.5K30

    数制转换itoa atoi int转字符串 字符串转int string转int int转string

    查找发现以下函数: 1.itoa是广泛应用的非标准C语言扩展函数。由于它不是标准C语言函数,所以不能在所有的编译器中使用。...C语言提供了几个标准库函数,可以将任意类型(整型、长整型、浮点型等)的数字转换为字符串,下面列举了各函数的方法及其说明。 1.itoa():将整型值转换为字符串。...用法charecvt(double,int,int,int*) charecvt(双精度浮点数,保留位数,小数点位置,转换浮点数的符号) 这个函数存储最多ndigit个数字值作为一个字符串,并添加一个空数字符...用法charfcvt(double,int,int*,int*) charfcvt(双精度浮点数,保留小数点后位数,小数点位置,转换浮点数的符号) 2....C/C++语言提供了几个标准库函数,可以将字符串转换为任意类型(整型、长整型、浮点型等)。 ● atof():将字符串转换为双精度浮点型值。

    6K10

    【C语言笔记】枚举

    其可以与typedef来进行类比进行理解(可查看【C语言笔记】define与typedef的区别?)。除此之外,其还可以与枚举enum进行类比。 二、什么是枚举 从字面理解,就是一一列举的意思。...若其他成员赋了初值,也是遵循“枚举成员的值是根据前一个成员的值递增1”这一规则,如: enum DAY { A,B,C=100,D,F=200,G }; 此处 A=0 B=1 C=100 D=101...) = %d\n",sizeof(int)); return 0; } 运行结果: ?...从该程序运行结果也可看出,枚举类型变量需要存放的是一个整数,它的长度和int的长度相同。 以上就是关于枚举类型enum的一些笔记,如有错误欢迎指出。 最后,分享两篇关于枚举的文章,都讲得很详细。...https://www.cnblogs.com/JCSU/articles/1299051.html http://c.biancheng.net/cpp/html/99.html

    1.4K51

    C语言 | 枚举概述

    在编程方面有着天赋异禀的人毕竟是少数,我们大多数人想要从C语言小白进阶到高手,需要经历的是日积月累的学习。 那么如何学习呢?当然是每天都练习一道C语言题目!! ? 作者 闫小林 白天搬砖,晚上做梦。...C语言枚举简述 在C语言中,如果一个变量只有几种可能的值,则可以定义为枚举类型,所谓“枚举”就是指把可能的值一一列举出来,变量的值只限于列举出来的值的范围内。...一般形式 enum[枚举名]{枚举元素列表} 其中枚举名应遵循标识符的命名规则。 C语言编译对枚举类型的枚举元素按常量处理,故称枚举常量。...不要因为他们是标识符而把他们看作变量,不能对他们赋值,但枚举元素可以用来判断比较。 每一个枚举元素都代表一个整数,C语言编译按定义时的顺序默认它们的值为0,1,2,3,4,5……。...C语言枚举输出对应的星期 #include int main() { //PS:外国人习惯从0开始 enum Week{ Monday=0, Tuesday=1, Wednesday

    1K10

    C语言 | 枚举概述

    C语言枚举简述 在C语言中,如果一个变量只有几种可能的值,则可以定义为枚举类型,所谓“枚举”就是指把可能的值一一列举出来,变量的值只限于列举出来的值的范围内。...一般形式 enum[枚举名]{枚举元素列表} 其中枚举名应遵循标识符的命名规则。 C语言编译对枚举类型的枚举元素按常量处理,故称枚举常量。...不要因为他们是标识符而把他们看作变量,不能对他们赋值,但枚举元素可以用来判断比较。 每一个枚举元素都代表一个整数,C语言编译按定义时的顺序默认它们的值为0,1,2,3,4,5……。...C语言枚举输出对应的星期 #include  int main() {   //PS:外国人习惯从0开始     enum Week{ Monday=0, Tuesday=1, Wednesday...100道C语言源码案例请去公众号:C语言入门到精通

    1.3K40

    9.6 C语言枚举类型

    01枚举 1、如果一个变量只有几种可能的值,则可以定义为枚举类型,所谓“枚举”就是指把可能的值一一列举出来,变量的值只限于列举出来的值的范围内。...2、枚举变量和其他数值型量不同,它们的值只限于花括号中指定的值之一。 3、枚举常量是由程序设计者命名的,用什么名字代表什么含义,完全由程序员根据自己的需要而定,并在程序中作相应处理。...4、一般形式 enum[枚举名]{枚举元素列表},其中枚举名应遵循标识符的命名规则。 5、C编译对枚举类型的枚举元素按常量处理,故称枚举常量。不要因为他们是标识符而把他们看作变量,不能对他们赋值。...6、每一个枚举元素都代表一个整数,C语言编译按定义时的顺序默认它们的值为0,1,2,3,4,5……。 7、枚举元素可以用来判断比较。...C语言 | 逆序输出10个数 更多案例可以go公众号:C语言入门到精通

    1.3K2725

    【C语言】联合和枚举

    就是因为前边提到的:联合体的成员共用一块内存空间 2、联合体成员的特点 联合变量的大小至少是最大成员变量的大小 #include union Un { char c; int i...; }; int main() { union Un un = { 0 }; un.i = 0x11223344; un.c = 0x55; printf("%x\n", un.i); printf...11223355 第二行联合体地址,联合体成员地址都是一个地址 所以我们验证了联合体成员变量共用一块内存 3、与结构体对比 struct Un { char c; int i; }; union...,最大数为5,对齐到4的整数倍,即为8 union Un2 { short c[7];//2 int i;//4 }; //4为最大对齐数,最大数为14,对齐到4的整数倍,即为16 int main...Sat, Sun }; enum Day today = Mon; 使用枚举常量为枚举变量赋值,在C语言中可以用整数来给枚举变量赋值,但在C++中不可以 今日分享就到这里了

    49210

    高阶C语言|枚举与联合

    枚举(Enum) 枚举,顾名思义,就是将可能的取值一一列举。 在现实生活中,很多事物的取值范围是有限的,可以使用枚举来定义,例如: 一周的七天(星期一到星期日)。 性别(男、女、保密)。...避免直接使用枚举常量的整数值赋值给枚举变量,否则可能出现类型不匹配问题。...联合类型的声明 union Un { char c; int i; }; 联合变量的定义 union Un un; 联合的特点 共用同一块内存 联合中的所有成员共享同一块存储空间,大小由最长的成员决定...联合的使用示例 #include union Data { int i; float f; char str[20]; }; int main() {...strcpy(data.str, "Hello"); printf("data.str: %s\n", data.str); return 0; } 在上述代码中,data 变量存储 int

    44010

    C语言详解(联合和枚举)

    //结构体 struct S { int n; char c; }; //联合体 union U { int n; char c; }; 但是与结构体不同的是编译器只为联合体最大的成员分配足够的内存空间...2、联合体的特点 #include struct S { int n;//4 8 4 char c;//1 8 1 //8个字节 }; union U { int...n; char c; }; int main() { printf("%zd\n", sizeof(struct S)); printf("%zd\n", sizeof(union U));...联合体的成员是共用同一块内存空间的,这样一个联合变量的大小,至少是最大成员的大小,因为联合至少得有能力保存最大的那个成员 union U { int n; char c; }; int main(...3、相同成员的结构体和联合体对比 来看相同成员的结构体和联合体内存分布情况 //结构体 struct S { int n; char c; }; //联合体 union U { int n; char

    49210
    领券