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?