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?