Quelle est la définition de «tableau» en C?

La norme définit méticuleusement le type de tableau , mais je ne vois aucune définition pour le tableau .

Nous pourrions dire “object de type tableau”, mais cela ne peut pas être correct car des objects non typés (par exemple, un espace alloué par malloc ) sont décrits comme un tableau.


Motivation: La spécification de %s dans fprintf (C11 7.21.6.1/8) dit:

l’argument doit être un pointeur sur l’élément initial d’un tableau de type caractère

mais prenez le code char s[] = "hello"; printf("%s", s+1); char s[] = "hello"; printf("%s", s+1); puis nous avons passé un pointeur sur le deuxième élément. Cette définition semble supposer que le tableau désigne tout ensemble d’objects contigus .


Edit: vu que j’ai pris quelques votes “qui ne sont pas clairs sur ce que vous demandez”, ma question est la suivante: quelle est cette définition du terme tableau tel qu’utilisé par ISO / IEC 9899: 2011?

Les tableaux sont définis dans la norme C , paragraphe 6.2.5, paragraphe 20:

Un type de tableau décrit un ensemble d’objects non vides alloués de manière contiguë avec un type d’object membre particulier, appelé type d’élément. Les types de tableau sont caractérisés par leur type d’élément et par le nombre d’éléments dans le tableau. Un type de tableau est dit dérivé de son type d’élément, et si son type d’élément est T, le type de tableau est parfois appelé “tableau de T”. La construction d’un type de tableau à partir d’un type d’élément s’appelle ” dérivation du type de tableau ”.