Notation pointeur /tableau
Marie
-
[Dal] Messages postés 6205 Date d'inscription Statut Contributeur Dernière intervention -
[Dal] Messages postés 6205 Date d'inscription Statut Contributeur Dernière intervention -
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
- Imprimer tableau excel sur une page - Guide
2 réponses
Le rang i du tableau (*str) se trouvant à l'adresse str.
fiddy
Messages postés
11069
Date d'inscription
Statut
Contributeur
Dernière intervention
1 846
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