我需要定义一个24位数据类型。我使用char[3]
来表示这种类型。我可以将char[3]
typedef为type24
吗? 我在代码示例中尝试过。我将typedef char[3] type24;
放入我的头文件中,编译器没有抱怨。但是当我在C文件中定义一个函数void foo(type24 val) {}
时,它会出现错误。我希望能够定义像type24_to_int32(type24 val)
这样的函数,而不是type24_to_int32(char value[3])
。
type24 foo
,那么foo
、*foo
、**foo
、&foo
和&&foo
的大小、类型和含义会是什么?这些表达式的含义和合法性是否随着时间而改变? - supercat