J'ai créé une gamme de consenses de pointeurs de const, comme: Quelle est la syntaxe correcte pour un pointeur ordinaire non-Const à ce tableau? Je pensais que ce serait const Char ** code>, mais le compilateur pense autrement. P> p>
3 Réponses :
Le même type que vous avez déclaré pour les éléments de tableau, avec un extra (code> * code> ajouté:
@juanchopanza: C'est un type de pointeur qui peut pointer sur n'importe quel élément de la matrice, qui est généralement i> ce que les gens veulent dire par le terme "pointeur vers le tableau" - le type de pointeur que le nom de la matrice se transforme en quand vous l'utilisez.
Si vous avez besoin d'un pointeur sur un tableau, comme votre titre le suggère, il s'agit de la syntaxe:
const char* const (*ptr)[4] = &sessionList;
char const* const (*ptr)[4] = &sessionList;
Techniquement, votre
Const Char * * Code> serait équivalent à votre tableau, car c'est ce que votre matrice se décomposera lorsqu'il est passé à une fonction. Vous auriez besoin d'une indirection supplémentaire pour obtenir un pointeur sur le tableau. Ou quelque chose commeconst char * [] * code>, mais je ne suis pas sûr que celui-ci est valideIl ressemble au type de
et de la liste de session code> estconst char * consons (*) [4] code>, mais je suis en difficulté pour déclarer une variable avec un tel type.Vous devez préciser si vous voulez un pointeur à un tableau ou à un pointeur sur un élément d'une matrice. Ces deux sont des choses différentes.
@Kaboissonneonneault: la matrice décrit à
Const Char * Const * Code> Lorsque vous l'utilisez dans la plupart des contextes (tout saufTailleof code>,déclinger code> et& code>)@Chrisdodd Vous avez raison, il vous manquait un
const code>