Je dois définir un type de données 24 bits que j'utilise char[3]
pour représenter le type. Puis - je typedef char[3]
à type24
? Je l'ai essayé dans un exemple de code. J'ai mis typedef char[3] type24;
mon fichier d'en-tête. Le compilateur ne s'en est pas plaint. Mais quand j'ai défini une fonction void foo(type24 val) {}
dans mon fichier C, il s'est plaint. J'aimerais pouvoir définir des fonctions comme type24_to_int32(type24 val)
au lieu de type24_to_int32(char value[3])
.
type24 foo
, quelles seraient les tailles, les types et les significationsfoo
,*foo
,**foo
,&foo
et&&foo
? La signification et la légalité de telles expressions ont-elles changé au fil des ans?