GCC中运用枚举定义数组的实例
2011-06-24 09:57
337 查看
enum uaddr { MTD_UADDR_NOT_SUPPORTED = 0, /* data width not supported */ MTD_UADDR_0x0555_0x02AA, MTD_UADDR_0x0555_0x0AAA, MTD_UADDR_0x5555_0x2AAA, MTD_UADDR_0x0AAA_0x0555, MTD_UADDR_DONT_CARE, /* Requires an arbitrary address */ MTD_UADDR_UNNECESSARY, /* Does not require any address */ }; struct unlock_addr { u32 addr1; u32 addr2; }; /* * I don't like the fact that the first entry in unlock_addrs[] * exists, but is for MTD_UADDR_NOT_SUPPORTED - and, therefore, * should not be used. The problem is that structures with * initializers have extra fields initialized to 0. It is _very_ * desireable to have the unlock address entries for unsupported * data widths automatically initialized - that means that * MTD_UADDR_NOT_SUPPORTED must be 0 and the first entry here * must go unused. */ static const struct unlock_addr unlock_addrs[] = { [MTD_UADDR_NOT_SUPPORTED] = { .addr1 = 0xffff, .addr2 = 0xffff }, [MTD_UADDR_0x0555_0x02AA] = { .addr1 = 0x0555, .addr2 = 0x02aa }, [MTD_UADDR_0x0555_0x0AAA] = { .addr1 = 0x0555, .addr2 = 0x0aaa }, [MTD_UADDR_0x5555_0x2AAA] = { .addr1 = 0x5555, .addr2 = 0x2aaa }, [MTD_UADDR_0x0AAA_0x0555] = { .addr1 = 0x0AAA, .addr2 = 0x0555 }, [MTD_UADDR_DONT_CARE] = { .addr1 = 0x0000, /* Doesn't matter which address */ .addr2 = 0x0000 /* is used - must be last entry */ }, [MTD_UADDR_UNNECESSARY] = { .addr1 = 0x0000, .addr2 = 0x0000 } };
这种写法可读性很好,貌似VC下编译不过,遗憾!
相关文章推荐
- js split 的用法和定义 js split分割字符串成数组的实例代码
- PHP中数组的定义及声明实例
- js split 的用法和定义 js split分割字符串成数组的实例代码
- 2016/3/20 数组定义 数组遍历 超全局数组 数组元素设置(in_array() 、array_reverse()、count()、array_unique()、unset()、array_values、array_merge、array_push) 列表实例
- 用枚举定义有意义的数组下标
- js split 的用法和定义 js split分割字符串成数组的实例代码
- 数组运用实例【走进JAVA-3.1】
- excel vba真正的动态数组实例-按需定义数组大小
- 宏和枚举有什么区别,定义数组时使用枚举和使用宏的区别
- js split 的用法和定义 js split分割字符串成数组的实例代码
- awk中数组的运用实例
- 迭代器学习之二:数组的可枚举类型和枚举数的定义以及编译器的foreach工作原理
- C语言-字符串匹配-KMP算法及next数组求解和运用实例
- C语言定义数组时使用枚举作为数组的下标
- 用枚举定义有意义的数组下标
- hiho1094(枚举、字符数组定义反思)
- excel vba真正的动态数组实例-按需定义数组大小
- 定义枚举实例时按照顺序定义的好处
- 用枚举定义有意义的数组下标
- 数组实例运用