2014-10-20 145 views
0

我需要通过可能的枚举来填充c语言的字节数组。十六进制枚举或整数(ASCII)枚举来填充字节数组?

这是我声明我的字节数组:

unsigned char byteArray[6]; 

现在我犹豫了,如果我的enumrations应该像MyEnum1MyEnum2

enum MyEnum1 { A1 = 0, B1 = 1, C1 = 2}; 
enum MyEnum2 { A2 = 0x00, B2 = 0x01, C2 = 0x02}; 

的目的是这样的:

byteArray[0]=A1; 
byteArray[1]=B1; 
byteArray[2]=C1; 
byteArray[3]=A2; 
byteArray[4]=B2; 
byteArray[5]=C2; 

那么,是否有任何推荐如果我的枚举应该包含十六进制或整数或其他类型的数据?

谢谢!

回答

2

你的情况,无论你如何组织你的enum。你可以用两种方法做,结果是一样的。

+0

谢谢你的回答。 +1 – Farah 2014-10-22 16:10:08

1

没关系。你的两个枚举:

enum MyEnum1 { A1 = 0, B1 = 1, C1 = 2}; 
enum MyEnum2 { A2 = 0x00, B2 = 0x01, C2 = 0x02}; 

是完全等同,就像int i = 0x5严格quivalent到int i = 5。如果您想使用常量的十进制或十六进制表示形式,则由您决定。

BTW,而不是和:

unsigned char byteArray[6]; 

你应该有:

enum MyEnum1 byteArray[6]; 
+0

谢谢你的回答。 +1 – Farah 2014-10-22 16:09:47