Setelah melihat (dan bertanya!) Begitu banyak pertanyaan yang mirip
Apa yang dimaksud
int (*f)(int (*a)[5])
dengan C?
dan bahkan melihat bahwa mereka membuat program untuk membantu orang memahami sintaks C, saya bertanya-tanya:
Mengapa sintaks C dirancang dengan cara ini?
Misalnya, jika saya mendesain pointer, saya akan menerjemahkan "pointer ke array 10-elemen pointer" menjadi
int*[10]* p;
dan tidak
int* (*p)[10];
yang saya rasa kebanyakan orang akan setuju jauh lebih mudah.
Jadi saya bertanya-tanya, mengapa, eh, sintaks tidak intuitif? Apakah ada masalah khusus yang diselesaikan oleh sintaksis (mungkin ambiguitas?) Yang tidak saya sadari?
cdecl
Perintah ini sangat berguna untuk decoding C deklarasi kompleks. Ada juga antarmuka web di cdecl.org .