Eu tenho que definir um tipo de dados de 24 bits. Estou usando char[3]
para representar o tipo. Posso typedef char[3]
para type24
? Eu tentei em um exemplo de código. Eu coloquei typedef char[3] type24;
no meu arquivo de cabeçalho. O compilador não reclamou. Mas quando defini uma função void foo(type24 val) {}
no meu arquivo C, ela se queixou. Eu gostaria de poder definir funções como em type24_to_int32(type24 val)
vez de type24_to_int32(char value[3])
.
type24 foo
, quais seriam os tamanhos, tipos e significados defoo
,*foo
,**foo
,&foo
, e&&foo
? Os significados e a legalidade de tais expressões mudaram ao longo dos anos?