Ich muss einen 24-Bit-Datentyp definieren. Ich verwende char[3], um den Typ darzustellen. Kann ich typedef char[3]zu type24? Ich habe es in einem Codebeispiel versucht. Ich habe typedef char[3] type24;meine Header-Datei eingefügt. Der Compiler hat sich nicht darüber beschwert. Aber als ich eine Funktion void foo(type24 val) {}in meiner C-Datei definiert habe, hat sie sich beschwert. Ich möchte in der Lage sein, Funktionen wie type24_to_int32(type24 val)anstelle von zu definieren type24_to_int32(char value[3]).
type24 foo, was würde die Größen, Typen und Bedeutungen vonfoo,*foo,**foo,&foo, und&&foo? Haben sich die Bedeutung und Rechtmäßigkeit solcher Ausdrücke im Laufe der Jahre geändert?