J'ai besoin d'un tableau de chaînes. La longueur d'une chaîne est connue au moment de la compilation et il est crucial que chaque chaîne occupe autant d'espace. D'autre part, le nombre de chaînes n'est connu qu'à l'exécution. Quelle est la syntaxe pour cela?Déclaration d'un tableau de longueur fixe de chaînes de longueur fixe
char* data[STRLENGTH]
est une syntaxe incorrecte. char** data
fonctionne principalement mais sizeof(data[0])
est faux - il doit être égal à STRLENGTH
.
Ce n'est pas * ça * déroutant; Les pointeurs vers les tableaux ne sont pas beaucoup plus compliqués que les pointeurs vers d'autres types. C'est juste que la précédence de '[]' sur '*' nécessite un groupement explicite. –
Mon premier instinct quand je vois quelque chose comme char (* data) est de trouver le pointeur de fonction. De toute façon, il n'y a pratiquement aucun inconvénient à définir un type intermédiaire (vous le passerez par référence et non par valeur sans l'attendre, mais ce n'est pas toujours un problème) – zmbq