C语言结构、联合和枚举(struct、union、enum)

 我来答
华源网络
2022-06-07 · TA获得超过5598个赞
知道小有建树答主
回答量:2486
采纳率:100%
帮助的人:148万
展开全部

@[TOC]

结构:具有不同数据类型的值(成员)的集合。
联合跟结构很类似,不同在于联合的成员共享同一存储空间。

结构成员通过名字而不是位置访问(与数组的区别)

指定初始化:不需要与结构成员的顺序一致

结构的赋值: part2 = part1 ,直接赋值(与数组不同)

不能用==和!=判断结构是否相等

命名结构时,两种写法都可以,但是 结构用于链表时,必须使用结构标记。

结构里面也允许嵌套结构。

编译器只为最大的成员分配足够的内存空间

结构变量的成员存储在 不同 的内存地址中,联合的成员存储在 同一 内存地址中。

联合的作用:用联合来节省空间
构造混合的数据结构

每次对联合的成员赋值,都由程序负责改变标记字段的内容

许多程序中,我们只具有少量有意义的值。
我们为这种具有少量可能值的变量提供了一种专用类型——枚举。

区别:枚举常量的名字必须不同于 作用于范围内 声明的其他标识符。

枚举常量遵循C语言的作用域规则:如果枚举声明在函数体内,那么它的常量对外部函数来说是不可见的。

默认情况下,编译器会把整数0,1,2……赋值给特定枚举中的变量

如果想要指定变量的值,可以在声明时指定。

当没有为枚举常量指定值时,它的值比前面一个值大1.

C语言允许把枚举常量和普通整数混合。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式