Saya harus mendefinisikan tipe data 24-bit. Saya menggunakan char[3]untuk mewakili tipe. Dapatkah saya typedef char[3]ke type24? Saya mencobanya dalam contoh kode. Saya memasukkan typedef char[3] type24;file header saya. Kompiler tidak mengeluh tentang hal itu. Tetapi ketika saya mendefinisikan fungsi void foo(type24 val) {}dalam file C saya, itu memang mengeluh. Saya ingin dapat mendefinisikan fungsi seperti type24_to_int32(type24 val)bukan type24_to_int32(char value[3]).
type24 foo, apa yang akan menjadi ukuran, jenis, dan makna darifoo,*foo,**foo,&foo, dan&&foo? Sudahkah makna dan legalitas ekspresi semacam itu berubah selama bertahun-tahun?