Pages : 1
#1 Le 20/10/2019, à 09:00
- chris7522
pointeur sur pointeur(C)
Bonjour a toutes et a tous,
Pouvez vous me donner s'il vous plait , un exemple concret de l'utilité d'un pointeur de pointeur ?
Hors ligne
#2 Le 20/10/2019, à 10:21
- grigouille
Re : pointeur sur pointeur(C)
Cela peut servir pour manipuler des tableaux de pointeurs.
$ cat toto.c
#include <stdio.h>
#include <stdlib.h>
void print(int n, char **tab) {
for(int i = 0 ; i < n ; ++i, ++tab) {
printf("%s\n", (*tab == NULL ? "" : *tab));
}
}
int main() {
int n = 3;
char **tab = malloc(n*sizeof(*tab)) ;
int i = 0;
tab[i++] = "a";
tab[i++] = "b";
tab[i++] = "c";
print(n, tab);
free(tab);
}
$ gcc -o toto toto.c -Wall -Wextra && ./toto
a
b
c
$
Debian (xfce) 12
HP LaserJet M1132 MFP
Hors ligne
#3 Le 20/10/2019, à 10:43
- NicoApi73
Re : pointeur sur pointeur(C)
Bonjour,
Tableaux en 2 dimensions (matrices)
Tableaux de chaines de caractères...
Dernière modification par NicoApi73 (Le 20/10/2019, à 10:50)
Hors ligne
#4 Le 20/10/2019, à 11:22
- grigouille
Re : pointeur sur pointeur(C)
Tableaux en 2 dimensions (matrices)
Non, pour une matrice N*P, on utilise un tableau de taille N*P et donc un simple pointeur sur la donnée.
Debian (xfce) 12
HP LaserJet M1132 MFP
Hors ligne
#5 Le 21/10/2019, à 13:43
- chris7522
Re : pointeur sur pointeur(C)
Merci a tous les deux de votre aide
Hors ligne
Pages : 1