【C语言】学习笔记10——其他数据结构

简介: 1. 联合:能在同一内存空间中存储不同的数据类型(不是同时存储)。典型用法是,设计一种表以存储既无规律、事先也不知道顺序的混合类型。 下面是一个代表及的联合模板 union hold { int digit; double bigfl; char letter; } 根据以上形式声明的类型可以存储一个int类型或一个double类型或一个char类型的值。

1. 联合:能在同一内存空间中存储不同的数据类型(不是同时存储)。典型用法是,设计一种表以存储既无规律、事先也不知道顺序的混合类型。

下面是一个代表及的联合模板

union hold {
    int digit;
    double bigfl;
    char letter;
}

根据以上形式声明的类型可以存储一个int类型或一个double类型或一个char类型的值。

2. 枚举类型:可以使用枚举类型声明符号名称来表示整型常量。 使用 enum 关键字, 可以创建一个新“类型”并指定它可具有的值。

enum spectrum {red, orange. yellow, green. blue, violet};
enum spectrum color;

枚举符是int类型,但是枚举变量可以是任意整数类型,前提是该整数类型足够长,可以存储所有的枚举常量。比如 spectrum 的枚举符范围是0~5, 所以编译器可以用 unsigned char 来表示color变量

C允许枚举变量使用 ++ 运算符,但是C++标准不允许

3. 在枚举声明中,可以为枚举常量指定整数值

enum levels {low = 100, medium = 500, high = 2000}

如果只给一个枚举常量赋值,后面的常量没有被赋值

enum feline(cat, lynx = 10, puma, tiger)  // cat = 0, lynx = 10, puma = 11, tiger = 12

4. typedef: 类似别名,或者说更接近于包装

 

相关文章
|
24天前
|
存储 编译器 C语言
【数据结构】C语言实现链队列(附完整运行代码)
【数据结构】C语言实现链队列(附完整运行代码)
34 0
|
24天前
|
存储 算法 程序员
【数据结构】C语言实现顺序表万字详解(附完整运行代码)
【数据结构】C语言实现顺序表万字详解(附完整运行代码)
38 0
|
1月前
|
存储 C语言
【C语言】利用数组处理批量数据(字符数组)
【C语言】利用数组处理批量数据(字符数组)
|
1月前
|
C语言
【C语言】利用数组处理批量数据(一维数组和二维数组)
【C语言】利用数组处理批量数据(一维数组和二维数组)
|
1月前
|
存储 C语言
C语言数据的输入举例
C语言数据的输入举例
17 1
|
1月前
|
存储 C语言
C语言数据的输出举例
C语言数据的输出举例
17 1
|
19天前
|
算法 C语言
【算法与数据结构】 C语言实现单链表队列详解2
【算法与数据结构】 C语言实现单链表队列详解
|
19天前
|
存储 算法 C语言
【算法与数据结构】 C语言实现单链表队列详解1
【算法与数据结构】 C语言实现单链表队列详解
|
24天前
|
存储 编译器 程序员
【C语言】整形数据和浮点型数据在内存中的存储
【C语言】整形数据和浮点型数据在内存中的存储
15 0
|
29天前
|
存储 机器学习/深度学习 算法
C语言代码实现数据结构与算法
以上代码中,哈希表使用链表解决哈希冲突,每个链表节点包含一个键值对。hash函数用于计算键值对应的哈希值,insert函数用于向哈希表中插入一个键值对,若当前位置为空,则直接插入;否则,将新节点插入到链表末尾。search函数用于在哈希表中查找指定键值的值,若存在则返回其值,否则返回-1。
32 1

热门文章

最新文章