Notation pointeur /tableau
Marie
-
[Dal] Messages postés 6373 Statut Contributeur -
[Dal] Messages postés 6373 Statut Contributeur -
Bonjour,
voila je suis en train de consulter un programme en C et je me retrouve face à une notation que je n'ai jamais vu jusqu'à présent.
char *fonction(char **str)
int i;
while ((*str)[i]
...
Pouvez-vous me dire à quoi cela correspond le (*str)[i] ?
Merci
voila je suis en train de consulter un programme en C et je me retrouve face à une notation que je n'ai jamais vu jusqu'à présent.
char *fonction(char **str)
int i;
while ((*str)[i]
...
Pouvez-vous me dire à quoi cela correspond le (*str)[i] ?
Merci
A voir également:
- Notation pointeur /tableau
- Tableau word - Guide
- Tableau ascii - Guide
- Trier un tableau excel - Guide
- Tableau croisé dynamique - Guide
- Pointeur souris - Guide
2 réponses
Le rang i du tableau (*str) se trouvant à l'adresse str.
fiddy
Messages postés
11653
Statut
Contributeur
1 847
A l'adresse *str plutôt
Salut Marie,
Dal
char **strpermet certainement l'accès à un tableau de chaînes C préalablement déclaré et initialisé, dont le pointeur est passé à la fonction.
(*str)[i]permet d'accéder aux caractères de la première chaîne du tableau de chaînes passé à la fonction et
while ((*str)[i] ...sera vrai tant que l'index
in'est pas sur le caractère de fin de chaîne.
Dal
Par exemple :
donne :
Dal
#include <stdio.h>
void fonction(const char **str) {
printf("1st char of the 1st string: %c\n",(*str)[0]);
printf("1st char of the 2nd string: %c\n",(*(str + 1))[0]);
}
int main(void) {
const char * array[] = {
"1. First string",
"2. Second string",
"3. Third string"
};
fonction(array);
return 0;
}
donne :
1st char of the 1st string: 1
1st char of the 2nd string: 2
Dal