Después de haber visto (y preguntado) tantas preguntas similares a
¿Qué significa
int (*f)(int (*a)[5])
en C?
e incluso viendo que habían hecho un programa para ayudar a las personas a entender la sintaxis de C, no puedo dejar de preguntarme:
¿Por qué la sintaxis de C se diseñó de esta manera?
Por ejemplo, si estuviera diseñando punteros, traduciría "un puntero a una matriz de 10 elementos de punteros" en
int*[10]* p;
y not
int* (*p)[10];
Lo que creo que la mayoría de la gente estaría de acuerdo es mucho menos sencillo.
Así que me pregunto, ¿por qué, uh, la sintaxis no intuitiva? ¿Hubo un problema específico que la sintaxis resuelve (tal vez una ambigüedad?) Que no conozco?