Les pointeurs en langage C.

IHECinformaticien Messages postés 9 Date d'inscription jeudi 19 février 2009 Statut Membre Dernière intervention 29 mars 2009 - 7 mars 2009 à 15:43
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 9 mars 2009 à 14:27
Bonjour, j'ai voulu savoir comment peut on parcourir un tableau d'entier en utilisant un pointeur et non pas un compteur qui est une variable de type entier. Merci infiniment.

8 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
7 mars 2009 à 19:52
int tab[10];
int i, v;
int *p;
// on va decrementer tout le tableau en le parcourant avec un pointeur
p = tab;
i = 9;
do {
  v = *p;
  *p = --v;
  p--;
} while(--i >= 0);

ciao...
BruNews, MVP VC++
0
gnairod Messages postés 37 Date d'inscription samedi 22 novembre 2008 Statut Membre Dernière intervention 11 avril 2010
8 mars 2009 à 22:27
Y a un blem dans ton code Brunews.

p = tab; // donc p pointe a l'adresse &tab[0]

/* blabla */
p--; // donc p pointe autrepart mais surement pas sur le tableau
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
8 mars 2009 à 22:37
hi hi, trop drole et fort exact.
p++;
ça ira assurément mieux.

ciao...
BruNews, MVP VC++
0
ed73 Messages postés 276 Date d'inscription lundi 8 septembre 2008 Statut Membre Dernière intervention 15 avril 2013 2
9 mars 2009 à 10:03
Salut,

C'est possible sans aucune variable de type entier si tu mets une balise de fin à ton tableau (ici -1) :

int tab[11] = { 0,1,2,3,5,5,6,7,8,9,-1 };
int *p;

for(p=tab;*p!=-1;p++)
{
printf("%d\n",*p);
}

ed73
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
9 mars 2009 à 10:24
y a juste que c'estt nettement moins efficace.

ciao...
BruNews, MVP VC++
0
ed73 Messages postés 276 Date d'inscription lundi 8 septembre 2008 Statut Membre Dernière intervention 15 avril 2013 2
9 mars 2009 à 11:15
C'est peut-être moins efficace mais ça respecte à la lettre l'énoncé du problème.
0
gnairod Messages postés 37 Date d'inscription samedi 22 novembre 2008 Statut Membre Dernière intervention 11 avril 2010
9 mars 2009 à 11:37
A mon avis il doit evite ce genre de code :

void afficherTableau(int tableau[], int taille) {
 for (int i = 0; i < taille; i++)
  cout << tableau[i] << endl;
}

Car ici i est un compteur.
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
9 mars 2009 à 14:27
me semblait aussi mais sait-on jamais.

ciao...
BruNews, MVP VC++
0
Rejoignez-nous