Declaración de puntero C estándar
¿Podría alguien explicarme la siguiente cita del estándar de C? Por más que intento dar sentido a esto, no logro hacerlo ¿Cómo se supone que alguien, aunque sea experimentado en C, debe entender esto?
C 2018 6.7.6.1 1 dice:
Si, en la declaración ” T D1“, D1 tiene la forma
* lista-calificador-tipo opt D
y el tipo especificado para ident en la declaración ” T D ” es
” derived-declarator-type-list T “, entonces el tipo especificado para ident
es ” derived-declarator-type-list lista-calificador-tipo puntero a T “.
Para cada calificador de tipo en la lista, ident es un puntero con ese calificador.
davy.ai
Esta cita está diciendo que si se proporciona una declaración de la forma
T D1
, dondeD1
tiene la forma* lista-de-cualificadores-tipos opcional D
, y el tipo especificado paraident
en la declaraciónT D
eslista-tipos-declarador-derivado T
, entonces el tipo especificado paraident
eslista-tipos-declarador-derivado lista-de-cualificadores-tipos puntero a T
. Esto significa que para cada calificador de tipo en la lista,ident
es un puntero con esos calificadores de tipo.En otras palabras, si se proporciona una declaración de la forma
T D1
, dondeD1
tiene la forma* lista-de-cualificadores-tipos opcional D
, y el tipo especificado paraident
en la declaraciónT D
eslista-tipos-declarador-derivado T
, entoncesident
es un puntero aT
con los calificadores de tipo especificados en lalista-de-cualificadores-tipos
.