Les pointeurs, ça sert à trois choses :
1)Utiliser un/plusieurs arguments d'un fonction comme "output" (ou à modifier) : Par exemple, je veux initialiser deux variables :
void init(int *x, int *y)
{
*x = 0;
*y = 0;
}
int x,y;
init(&x,&y);
Note : si tu le fais sans pointeur, tu initialiseras des variables locales, ce qui n'aura aucun effet à l'extérieur de ta fonction.
2) Economiser du temps : car un pointeur a tjrs une taille (sizeof) fixe (4Bytes je crois).
Exemple:
struct myStr {
long x,y,z;
double a,b,c;
...
} myS;
void foo1( myStr *str )
{
...
}
void foo2( myStr str )
{
....
}
void foo3( myStr &str)
{
}
le pointeur (4Bytes) est envoyé à la fonction foo1 alors que toute la structure (>36Bytes) est envoyée à la fonction foo2 ... donc une sérieuse économie de temps. La fonction foo3 revient à peu près au même que foo1.
3)Créer des tableaux dynamiquesPar exemple :
int *table;
table = (int*)malloc( n * sizeof(int));
plutôt que
int table[10]; (static)
Voilà ... j'espère que ça t'aidera.
Sven
-------------------------------
Réponse au message :
-------------------------------
salut à vous tous...
QQ1 pourrait-il me préciser l'utilisations des pointeurs en C/C++ ?
Parce que j'ai lu des bouquins et je comprends la déclaration, l'initialisation , mais je vois pas bien a quoi ca sert, et surtout dans quel cas s'en servir ?
merci
bigbang
[ Lien ]