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?