Tôi phải xác định loại dữ liệu 24 bit. Tôi đang sử dụng char[3]để thể hiện loại. Tôi có thể typedef char[3]để type24? Tôi đã thử nó trong một mẫu mã. Tôi đặt typedef char[3] type24;trong tập tin tiêu đề của tôi. Trình biên dịch đã không phàn nàn về nó. Nhưng khi tôi xác định một hàm void foo(type24 val) {}trong tệp C của mình, nó đã phàn nàn. Tôi muốn có thể xác định các chức năng như type24_to_int32(type24 val)thay vì type24_to_int32(char value[3]).
type24 foo, những gì sẽ là kích cỡ, chủng loại, và ý nghĩa củafoo,*foo,**foo,&foo, và&&foo? Ý nghĩa và tính hợp pháp của bất kỳ biểu thức nào như vậy đã thay đổi qua nhiều năm?