C语言-枚举(enum)和联合(union)

使用enum进行定义

/*
枚举类型演示
*/
#include <stdio.h>
int main() {
    enum /*季节*/ {CHUN, XIA = 5, QIU, DONG};
    printf("QIU是%d\n", QIU);
}

使用union联合进行定义

/*
联合演示
*/
#include <stdio.h>
typedef union{
    int val;
    float fval1;
} tmp;
int main(){
    tmp utmp = {0};
    printf("&(utmp.val)是%p\n", &(utmp.val)); //所指向的地址是相同的
    printf("&(utmp.fval)是%p\n", &(utmp.fval1));
}

原文地址:https://www.cnblogs.com/hyq-lst/p/12426310.html

时间: 2024-11-03 22:25:17

C语言-枚举(enum)和联合(union)的相关文章

Lua 与C/C++ 交互系列:动态注册枚举enum到Lua Code中,在运行时在Lua Code中获取内省信息

在Lua 5.1 Reference Manual  对于Lua 值和类型的介绍.Lua是一个动态语言,在Lua中变量仅仅有值而没有类型.所以在Lua中的变量不需要声明.所以的值本身包含类型. 其实Lua 包含一种运行时类型识别,通过type()函数,可以在运行时获取值的类型. 信息来自: Lua 5.1 Reference Manual  Values and Types Lua is a dynamically typed language. This means that variable

枚举类型、联合类型

1联合union 联合 (union) 是一个能在同一个存储空间里(但不同时)存储不同类型数据的数据类型. 编译器为联合分配足够的空间保存所描述的可能性的最大需要. 下面是一个带有标记的联合模板例子: union hold{  //带有标记的联合的模板 int digit; double bigf1; char letter; }; 下面是定义3个 hold 类型联合变量的例子 union hold fit;  //hold类型的联合变量 union hold save[10]; //10个联合

C语言的结构和联合,以及PHP是怎么实现弱类型的

C语言的结构(struct):包含多个成员,可能有多种数据类型,并且需要分配几种类型占用空间之和的空间. 联合(union):支持多种类型,供使用者使用其中一种数据类型,当然是需要分配其中占用空间最大的数据类型的大小. 结构和联合通常是出现在一块的. PHP是用C语言来实现的,那么思考下为什么PHP可以实现弱类型呢? 答案就在C语言的结构和联合上. 从弱类型变量的写入和读取二者分析: 有了联合,我们可以定义几种类型,让php的变量在其中选取,这个可以解决变量写入.那怎么解决读取这个变量呢?变量设

浅析c++和c语言的enum类型

1.先看c语言枚举类型 1.c语言定义枚举类型,每一个枚举元素都是一个整数2.注重数据类型,没有数据类型限定3.相邻枚举元素相差整数4.可以通过整数访问,不够安全 2.上代码: 1 #include<stdio.h> 2 #include<stdlib.h> 3 4 /* 5 6 1.c语言定义枚举类型,每一个枚举元素都是一个整数 7 2.注重数据类型,没有数据类型限定 8 3.相邻枚举元素相差整数 9 4.可以通过整数访问,不够安全 10 11 */ 12 enum color

结构体struct 与 联合union

1.C语言中的结构体 1.1 定义 结构体是由一系列相同或不同类型的变量组成的集合. struct 结构体名{               //struct为关键字,“结构体名”为用户定义的类型标识. 数据类型1 成员名1;          //{ }中是组成该结构体的成员,其中数据类型可以是C语言所允许的任何数据类型. 数据类型2 成员名2; ... 数据类型n 成员名n; }; 1.2 结构体的内存分配(方法一) 结构体在内存中分配一块连续的内存,但结构体内的变量并不一定是连续存放的,这涉

枚举enum学习小记

参考文献: [1]C++程序设计语言(特别版), 裘宗燕译, 机械工业出版社 [2]C++ Primer (3rd Ed.), S.B. Lippman and J. Lajoie, 人民邮电出版社   1.枚举enum的用途浅例       写程序时,我们常常需要为某个对象关联一组可选alternative属性.例如,学生的成绩分A,B,C,D等,天气分sunny, cloudy, rainy等等.       更常见的,打开一个文件可能有三种状态:input, output和append.

poj1753 Flip Game(枚举Enum+dfs)

转载请注明出处:http://blog.csdn.net/u012860063?viewmode=contents 题目链接:http://poj.org/problem?id=1753 Description Flip game is played on a rectangular 4x4 field with two-sided pieces placed on each of its 16 squares. One side of each piece is white and the o

c# 枚举enum

1 定义枚举 enum Days { Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday }; 默认情况下,枚举中的每个元素的基础类型的值是int,如果不指定值,则其值以1递增;Days.Sunday 的值为 0,Days.Monday 的值为 1,依此类推. public enum TimeOfDay { Moning=0; AfterNoon=1; Evening=2; } 使用枚举: public string ge

poj2965 The Pilots Brothers&#39; refrigerator(直接计算或枚举Enum+dfs)

转载请注明出处:http://blog.csdn.net/u012860063?viewmode=contents 题目链接:http://poj.org/problem?id=2965 Description The game "The Pilots Brothers: following the stripy elephant" has a quest where a player needs to open a refrigerator. There are 16 handles