精华内容
下载资源
问答
  • 1、枚举类型    当程序中需要给某一个变量值,限定取值范围的时候,可以使用枚举    1)枚举类型    enum 枚举类型名{枚举值1,值2,值3,...};    2)枚举类型的变量    enum SEX{man,women,yao}...

      1、枚举类型

     

             当程序中需要给某一个变量值,限定取值范围的时候,可以使用枚举

     

             1)枚举类型

     

                enum 枚举类型名{枚举值1,2,3,...};

     

             2)枚举类型的变量

     

                enum SEX{man,women,yao}isex;

     

                enum {man,women,yao}s1;

     

                enum SEX s2; 

     

     

             3)枚举类型变量的使用

      

                1)枚举元素的值

     

                   枚举元素是系统默认给的,我们自己也可以修改

     

                   从第一个枚举元素开始,依次给初始化值,直到结束或者遇到自定的元素值,第一个值从0开始,依次+1

     

       

                2)给枚举类型变量赋值

     

                  isex = man;

     

                  printf("%d\n",isex);

     

     

     

      2typedef的使用:

     

            给数据类型定义一个新的类型名 (起别名)

     

            1)语法格式:

             

            typedef  原类型  新类型名

     

            新类型名,尽量要大写,以区别普通的变量

     

            2)给基本数类型起别名

     

            int  float  char double 

     

            int  a = 10;  //定义一个整形变量

     

            typedef int INT;

    展开全文
  • 枚举类型可以被赋值,但其赋值不同于普通变量,主要为以下两点:1. 非枚举类型值赋值给枚举类型>需要借助类型强制转换>举例:typedef enum{Monday = 1, //将枚举类型的第一个变量置为1, 则后面的依次为2, 3, 4...

    枚举类型可以被赋值,但其赋值不同于普通变量,主要为以下两点:

    1. 非枚举类型值赋值给枚举类型

    >需要借助类型强制转换

    >举例:

    typedef enum

    {

    Monday = 1,    //将枚举类型的第一个变量置为1, 则后面的依次为2, 3, 4, 5

    Tuesday,

    Wednesday,

    Thursday,

    Friday

    }Weekday;

    Weekday Working;

    unsigned char day;

    day = 2;

    Working = day;    //错误

    Working = 2;        //错误

    Working = (Weekday)day;    //正确. 即将Working置为序号为2的常量,也即Working =  Tuesday

    //(注: 此处强制类型转换需要用定义的枚举类型Weekday,而不是枚

    //举类型定义的变量Working)

    Working = (Weekday)2;      //正确.

    2. 枚举类型值赋值给枚举类型

    >举例:

    typedef enum

    {

    Monday = 1,    //将枚举类型的第一个变量置为1, 则后面的依次为2, 3, 4, 5

    Tuesday,

    Wednesday,

    Thursday,

    Friday

    }Weekday;

    Weekday Working;

    Working = Wednesday;    //正确

    总结:枚举变量由其中的枚举元素构成,每个枚举元素的值(枚举值)是常量,只能把枚举值赋予枚举变量。同时枚举类型是一种基本数据类型,可以通过类型强制转换将其他类型的变量赋值给枚举类型。

    参考链接:

    1. enum类型变量的使用和赋值 - CSDN博客 https://blog.csdn.net/maochengtao/article/details/46606853

    展开全文
  • c语言枚举

    2018-06-05 16:39:56
    利用关键字enum声明枚举类型,这也是一种数据类型。使用该类型可以定义枚举类型变量,一个枚举变量包含一组相关的标识符,其中每个标识符都对应一个整数值,称为枚举常量。在定义枚举类型的变量时,可以为某个特定的...

    利用关键字enum声明枚举类型,这也是一种数据类型。使用该类型可以定义枚举类型变量,一个枚举变量包含一组相关的标识符,其中每个标识符都对应一个整数值,称为枚举常量。

    在定义枚举类型的变量时,可以为某个特定的标识符指定其对应的整型值,紧随其后的标识符对应的值以此加1。例如:

    enum Colors(Red=1,Green,Blue);Red的值为1,Green的值为2,Blue的值为3。通过使用switch语句判断输入的数据与这些标识符是否符合,然后执行case语句中的操作。

    #include <stdio.h>
    #include <stdlib.h>
    
    enum Color{Red=1,Blue=2,Green=3}color;//定义枚举变量Color,并初始化
    int main()
    {
    	int icolor;
    	scanf("%d",&icolor);
            switch(icolor)                    //判断icolor值
            {
            case Red:                        //枚举常量,Red表示1
    		printf("the choice is Red\n");
    		break;
    	case Blue:                        //枚举常量,Blue表示2
    		printf("the choice is Blue\n");
    		break;
    	case Green:                        //枚举常量,Green表示3
    		printf("the choice is Green\n");
    		break;
            }
        //printf("Hello world!\n");
    
    	return 0;
    }
    

    展开全文
  • C语言指定初始化

    2020-06-30 20:04:44
    C语言指定初始化数组指定初始化结构体指定初始化指定初始化综合使用新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个...


    C90标准要求初始化的元素以固定顺序出现,与被初始化的数组或结构中的元素的顺序相同。
    在ISO C99标准中,可以以任何顺序指定元素的数组索引或结构字段名,而GNU C也允许在C90 标准中将其作为扩展。但是这个扩展没有在GNU C++中实现的。

    1、数组指定初始化

    要指定数组索引,请在元素值之前写入’ [index] = value ',例如:

    int a[6] = { [4] = 29, [2] = 15 };
    

    等价于

    int a[6] = { 0, 0, 15, 0, 29, 0 };
    

    需要注意的是,index必须是常量表达式,即使正在初始化的数组是临时变量; 如果是用来初始化全局变量,那么value也要为常量表达式。 另一种语法是在元素值前写’ [index] ‘,不写’ = '。这种语法在GCC 2.5之后就被淘汰了,但是GCC仍然支持。
    GNU支持另外一种拓展:‘[first … last] = value’,可以将一组元素初始化为相同的值:

    int widths[] = { [0 ... 9] = 1, [10 ... 99] = 2, [100] = 3 };
    

    如果赋值的数据value有副作用,那么副作用只会发生一次,而不是针对所有初始化范围内的每个元素。

        int a =9;
        int test_array_init[ARRAY_NUM] = {
            [0 ... 3] = a++,
            [4 ... ARRAY_NUM-1] = a++
        };
        // test_array_init[10]={9,9,9,9,10,10,10,10,10,10}
    

    测试代码如下:

    #include<stdio.h>
    #define ARRAY_NUM 10
    
    int test_array_init[ARRAY_NUM] = {
        [0 ... 3] = -1,
        [4 ... ARRAY_NUM-1] = 66
     };
    
    int main(int argc,char *argv[])
    {
        int i = 0;
        for (i=0;i<ARRAY_NUM;i++)
        {
            printf("index:%d,%d\r\n",i,test_array_init[i]);
        }
        return 0;
    }
    

    指定数组初始化运行结果:
    指定数组初始化运行结果

    2、结构体指定初始化

    在结构初始化中,用‘.fieldname =value’’ 指定要初始化的字段的数值。例如,给定以下结构体:

    struct point { int x, y; };
    //通过如下方式初始化
    struct point p = { .y = yvalue, .x = xvalue };
    //等价于
    struct point p = { xvalue, yvalue };
    

    另一种语法具有相同的含义,在GCC 2.5之后就过时了,它是’ fieldname: ',如下所示:

    struct point p = { y: yvalue, x: xvalue };
    

    初始化省略的字段,按照静态变量的方式被隐式初始化(临时变量是否也是这样没有验证)。

    ‘[index]’ 和 '.fieldname '被称为标识符。在初始化union时,还可以使用标识符(或过时的冒号语法)来指定应该使用联合的哪个元素。例如,

    union foo { int i; double d; };
    union foo f = { .d = 4 };
    //将4转换为双精度值,通过第二个元素将其存储在union。
    

    3、指定初始化综合使用

    可以将这种指定初始化的方式与普通C初始化相结合,普通的初始化方式,应用于没有标识符指示的连续元素。例如,

    int a[6] = { [1] = v1, v2, [4] = v4 };
    //等价于
    int a[6] = { 0, v1, v2, 0, v4, 0 };
    

    当索引是字符或属于枚举类型时,标记数组初始化器的元素特别有用。例如:

    int whitespace[256]
    	= { [’ ’] = 1, [’\t’] = 1, [’\h’] = 1,
    		[’\f’] = 1, [’\n’] = 1, [’\r’] = 1 };
    

    也可以’在’ = ‘前面写一系列的’.fieldname ‘和’ [index] ,用于指定要初始化的嵌套子对象,这个列表是相对于子对象的,子对象对应于周围最近的{}。例如,上面的“struct point” 声明:

    struct point ptarray[10] = { [2].y = yv2, [2].x = xv2, [0].x = xv0 };
    

    如果同一个字段被多次初始化,或者一个联合的重叠字段被初始化,则使用上一次初始化的值。如果union的字段本身是结构,则使用上一个初始化字段的整个结构。如果之前的初始化有副作用,则不确定该副作用是否会发生。目前,GCC会丢弃产生副作用的初始化表达式并发出警告。

    参考: [link](Using the GNU Compiler Collection 6.29).

    展开全文
  • C语言枚举类型

    千次阅读 2019-12-21 10:31:58
    如果一个变量有几种可能的值,则可以定义为枚举类型,就是把各种存在的值一一的列举出来。枚举在C/C++/c#中,是一个被命名的整型常数的集合。它可以让数据更简洁,更易读。 接下来我们举个例子,比如:一星期有 7 天...
  • C语言枚举类型(enum)

    千次阅读 多人点赞 2018-02-16 13:20:55
    (二)枚举篇 1,枚举类型定义 enum 枚举类型 { 常量列表//各常量之间以逗号隔开 }; 例: enum DAY ...枚举类型是个集合。...可以自定义枚举类型的值,从而自定义某个...
  • 枚举类型初始化

    万次阅读 2015-11-03 12:41:05
    1.如果是在函数外面定义一个枚举类型的...其实这块:全局变量和静态类型变量没有初始化的话也会自动初始化为0或空字符。 enum x{ x1 = 3, x2, x3, } ; x X; int main() {  cout  getchar();  return
  • 目录·C枚举类型基本定义在stm32中的应用·C结构体类型基本定义初始化作为函数参数在stm32中的应用·C共用体类型基本定义内存空间共用 ·C枚举类型 基本定义 首先,在谈enum的用法之前,要了解const的作用,我们知道...
  • 语言------结构体 枚举学习,有需要的朋友可以参考下。结构体 枚举1.局部变量:>定义.在代码块内部定义的变量都是局部变量,包括形参>...特点:没有固定的初始化值2.全局变量:>定义.在函数外定义的变量>.作...
  • C语言枚举类型

    千次阅读 2010-05-26 10:12:00
    C语言枚举类型:如果一个变量你需要几种可能存在的值,那么就可以被定义成为枚举类型。之所以叫枚举就是说将变量或者叫对象可能存在的情况也可以说是可能的值一一例举出来。 枚举的说明与结构和联合相似, 其形式为...
  • c语言枚举详解

    千次阅读 2014-10-29 15:49:47
     下面简单介绍下C语言中的枚举类型和在Linux系统中的作用。  枚举是一个被命名的整型常数的集合, 枚举在日常生活中很常见。  例如表示星期的SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY,SATURDA
  • C语言 枚举与联合

    2020-11-20 21:46:37
    枚举与联合 先来看看两者的形式 枚举: #include<stdio.h> enum Day { Mon, Tues, Wed, Thu, Fri, Sat, Sun }; int main() { return 0; } 联合体(也叫共用体): #include<stdio.h> union ...
  • C语言基本类型声明、初始化、大小及格式说明符总结 类型 声明及初始化 大小(byte) 格式说明符 char char a=’2’; char a=50,b=062,c=0x32; char a=’\062’,b=’\...
  • 1.结构体C语言允许用户自己建立由不同类型数据组成的组合型的数据结构,它称为结构体,在其他一些高级语言中称为“记录”。structStudent{intnum;char name[20];charsex;intage;floatscore;char addr[30];};声明一个...
  • c语言枚举和数组

    千次阅读 2017-07-18 20:02:52
    1.以下代码定义了这种新的数据类型 - 枚举型 enum DAY {  MON=0, TUE, WED, THU, FRI, SAT, SUN };   (1) 枚举型是一个集合,集合中的元素(枚举成员)是一些命名的整型常量,元素之间用逗号,隔开。 (2) DAY是...
  • C语言枚举和联合

    2016-06-10 10:21:46
    枚举:  1. 概念: 一组整数符号常量的集合, 通常表示一个变量在一个范围内的取值.  目的: 提高程序的可读性.  2. 定义: enum 枚举名{枚举值表}; 如:  enum Weekday {SUN, MOU, TUE, WED, THU, FRI, SAT}; ...
  • C语言枚举类型(26)

    千次阅读 2006-10-08 15:45:00
    C语言枚举类型:如果一个变量你需要几种可能存在的值,那么就可以被定义成为枚举类型。之所以叫枚举就是说将变量或者叫对象可能存在的情况也可以说是可能的值一一例举出来。 枚举的说明与结构和联合相似, 其形式为...
  • C语言枚举型复习笔记

    2016-04-16 15:23:37
    1)可以用枚举标识符常量向枚举变量赋值或初始化。例如:  enum {x1,x2}x,y=x2;  x=x1; 2)整型表达式的值如果在枚举值之列,经过类型强制转换后,可以向枚举变量赋值。例如:  today=(enum WeekDay)...
  • C语言入门之枚举类型

    2019-08-18 19:37:52
    枚举类型 如果一个变量只有几种可能的值,则可以定义为枚举类型,所谓“枚举”就是指把可能的值一一列举出来,变量的值只限于 列举出来的值的范围内 说明: (1) C编译对枚举类型的枚举元素按常量处理,故称...
  • c语言初始化一个数组In this article, we’ll take a look at how we will initialize an array in C. 在本文中,我们将研究如何在C中初始化数组。 There are different ways through which we can do this, so ...
  • 一、声明共用体类型,定义枚举常量 方法 1 enum weekdays {Monday, Tuesday, Wednesday, Thursday, Friday}; weekdays day;...enum weekdays {Monday, Tuesday,...枚举类型内容 Monday Tuesday Wednesday...
  • 2.1.数组类型[] 2.1.1.字符数组 2.1.2.一维数组 2.1.3.二维数组 2.1.4.三维数组 2.2.结构体类型struct 2.2.1.定义 2.2.2.结构体变量 2.2.3.结构体数组 2.2.4.指向结构体的指针 2.2.5.指向...
  • 目录1 实型2 标识符3 变量4 一维数组4.1 注意点4.2 初始化5 二维数组5.1 初始化6 字符数组6.1 初始化6.2 与字符指针的比较7 结构体7.1 声明定义7.2 初始化7.3 结构体指针8 共用体9 枚举 1 实型 实型分为十进制小数...
  • C语言】联合与枚举类型

    千次阅读 2015-12-27 21:00:52
    本文主要介绍了关于C语言中联合体(union)和枚举类型(enum)的相关知识和内容。并提供了部分代码,可供学习。
  • 本文对C语言中结构体、共用体和枚举类型进行总结,涉及如下内容: 1、结构体的定义与使用; 2、结构体变量初始化和引用; 3、结构体数组; 4、结构体指针; 5、结构体指针作为函数参数; 6、指针实现链表; 7、共用...
  • 二、枚举类型 枚举变量 三、联合类型 共用体的应用 一、结构体 在C语言中,可以使用结构体(Struct)来存放一组类型不同的数据。 定义格式: struct 结构体名{ 成员 }; 结构体所包含的变量或数组称为...
  • 关于一些C语言的共用体,枚举类型简单分享给大家 文章目录共用体类型枚举类型 共用体类型 1.共用体是将不同类型的变量或者数组存储在一个共同的内存单元内 2.不能对共用体的每个成员同时赋值,因为其中的成员...
  • C语言枚举类型

    2021-06-28 19:43:44
    枚举类型 1.摘要 枚举类型(enumerated type),顾名思义,便是将有可能取到的值一一列举并放入一个集合之中,这个集合便可以视作枚举类型。 使用enum关键字,可以创建一个新“类型”并指定它可具有的值,这种类型就叫...
  • c语言/C++枚举类型的意义:

    千次阅读 2018-06-13 16:33:13
    1)C++ 中会使用const或者#define定义整型常量,当整型常量有多个且之间的值的全部或部分有递加的时候,定义起来稍显繁琐,此时用枚举显得很简洁:例如://使用const:const int MON =1; const int TUE=2; const int ...
  • 枚举类型. 1) 数组 概念:为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来。这些按序排列的同类数据元素的集合称为数组 知识点: 数组的开始下标都是从0开始的. 我们需要记录一些数据类型相同的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 23,128
精华内容 9,251
关键字:

c语言枚举类型初始化

c语言 订阅