Titre: [C/C++] pointeurs Posté par: comtezero le 01 Octobre 2005 à 17:08:25 Une question que je me pose, a quoi peuvent bien servir les pointeurs en c/c++, si ca simplifie ou autre les programmes ?
Titre: [C/C++] pointeurs Posté par: Nox le 01 Octobre 2005 à 18:05:42 Les pointeurs servent a reserver un espace memoire pour des données
lorsque tu creer une variable les données contenu forment un tableau chaque case du tableau et mise sur la pile lorsque tu utilise un pointeur au lieu de mettre chaque lettre par exemple les une a la suite des autre le pointeur contiendra tout le texte ce qui augmente la vitesse de traitement =) Pile N°1 Pile N°2 B Bonjour o Maurice Seulement deux traitement pour la pile 2 n j o u r \n M a u r i c e \n Titre: [C/C++] pointeurs Posté par: comtezero le 01 Octobre 2005 à 18:19:26 Ok je vois on gagne du temps de traitements, apres c'est aussi facile a faire des programmes sur les pointeurs que sur les tableaux "normaux" ?
Titre: [C/C++] pointeurs Posté par: Nox le 01 Octobre 2005 à 18:48:17 Tu peux faire un tableau sur un pointeur aussi =)
Dans certain cas tu es obligé d'utiliser de pointeurs parce que la fonction le demande Bien sur mon schema etait trés simplifié mais en gros c'est ça Titre: [C/C++] pointeurs Posté par: comtezero le 01 Octobre 2005 à 20:01:48 Ok merci deja ca m'éclaire sur l'utilité du popinteur car deja je trouvais que ca rendais un script plus complexe au niveau de l'écriture et j'en voyais pas l'utilité.:oops
Titre: [C/C++] pointeurs Posté par: Invit le 02 Octobre 2005 à 15:36:54 Arrff... L'informatique ça se résume à ça, des pointeurs et des valeurs.
Un pointeur c'est une adresse mémoire (symbolisée par une variable), une valeur c'est une valeur (peu pas faire mieux là...) Et la totalité de l'informatique se résume à ça (bon bon ok... interruptions et entrées/sorties mises à part :p). Titre: [C/C++] pointeurs Posté par: neoflo le 11 Décembre 2005 à 12:18:13 Si tu définis une structure, par exemple d'un type image et un type couleur style:
typedef Couleur_ struct { int R; int G; int B; int T; } Couleur; typedef Image_ sruct { int hauteur; int largeur; Couleur **m (ou Couleur* m) } Image; Dejà, si ds ta structure tu voulais utiliser un tableau, tu serais obligé de définir la taille du style Couleur m[256][256] et donc tu serais limité, et si l'on déclare un tableau comme ça, on ne peut plus redimensionner l'image. Donc, tu dois utiliser un pointeur de pointeur. Ensuite, si tu veux utiliser une fonction qui par exemple réalise un gauffrage ou une rotation de ton image. Et bien si tu lui envois la structure ds la gueule, ta pile va déborder. Encore là, on travaille avec un pointeur de type Couleur, dc ça ne devrait pas trop être grave, mais si ta fonction renvoit une image, et bien là, à coup sûr, ça va planter si tu ne fais pas d'allocation dynamique. NB: Sous linux, si vous voulez voir la taille de votre pile (CAD ce qu'il n faut pas dépasser), il suffit de tapper ulimit -a et lire la ligne stack size Par exemple, si tu fais une alloc dynamique, tu vas avoir un prototype du style: Image * Rotation(Image* source, int angle); Et là, ça sera bcp plus rapide car le passage des paramètres se fera avec 2 pointeurs d'image et d'un entier. Alors que si tu fais: Image Rotation(Image source, int angle) Il va y avoir un recopiage des données sur la pile = perte de tps et risque de plantage |