全部学习汇总: https://github.com/GreyZhang/misra_c_hacking
这一条要求是针对枚举类型的量的初始化的。
在枚举列表中,除非所有元素都被显式初始化,否则不能使用" = "构造来显式初始化除第一个元素外的其他成员。
这个规则要求还是很简单的。要么只初始化第一个,要么不初始化,要么全都初始化。这样,就很容易记住这一条规则的要求。
趁着这个机会,回忆一下自己对枚举类型应用的掌握脑子里现在存在的几条比较深刻的记忆。
1,如果不进行显式的初始化,枚举类型的元素的赋值一般由编译器自动来分配,默认的赋值排序为0、1、2、3、4、5、6。针对这一条,还有一段印象比较深刻的经历。最初这一点我是没记住的,而那时候用到枚举类型的时候我一般是全都进行初始化。偶然一次,听到了其他也在用的人谈论,默认的形式是什么?其中一人很肯定地回答0123456,自此,我似乎就记住了。感谢这么多年来有意或者无意中帮助过我的人,这对我真的是影响很大。
2,第一条知识点在于布尔量的实现,是否应该采用枚举的类型。这个描述我是从《代码大全》中看到的,而书中推荐的方式就是布尔类型。为什么呢?因为我们以为的布尔类型信号或许不知道会在什么时候多出几种状态从此不再是布尔量,这样,使用枚举的实现会更加便于状态类型的扩充。
3,尽量在定义枚举或者结构体的时候顺便定义出相应的数据类型,定义了数据类型之后再进行对象的实例化。这样会让软件的设计有着更加统一的风格以及可读性。
最后,附加我曾经在迷茫之中学习的时候写的关于枚举的知识探索笔记作为复习资料: C语言中枚举的使用_grey_csdn的博客-CSDN博客