Devo definire un tipo di dati a 24 bit. Sto usando char[3]per rappresentare il tipo. Posso char[3]scrivere a type24? L'ho provato in un esempio di codice. Ho inserito il typedef char[3] type24;mio file di intestazione. Il compilatore non si è lamentato. Ma quando ho definito una funzione void foo(type24 val) {}nel mio file C, mi sono lamentato. Vorrei poter definire funzioni come type24_to_int32(type24 val)invece di type24_to_int32(char value[3]).
type24 foo, quali sarebbero le dimensioni, tipi, e significati difoo,*foo,**foo,&foo, e&&foo? I significati e la legalità di tali espressioni sono cambiati nel corso degli anni?