Muszę zdefiniować 24-bitowy typ danych. Używam char[3]do reprezentowania typu. Czy mogę napisać char[3]na maszynie type24? Próbowałem w próbce kodu. I umieścić typedef char[3] type24;w moim pliku nagłówka. Kompilator nie narzekał na to. Ale kiedy zdefiniowałem funkcję void foo(type24 val) {}w moim pliku C, narzekała. Chciałbym móc definiować funkcje takie jak type24_to_int32(type24 val)zamiast type24_to_int32(char value[3]).
type24 foo, co byłoby rozmiary, typy i znaczeńfoo,*foo,**foo,&foo, i&&foo? Czy znaczenia i legalność takich wyrażeń zmieniły się na przestrzeni lat?