Partage
  • Partager sur Facebook
  • Partager sur Twitter

Usages des pointeurs

a quoi ça sert un pointeur???

    18 janvier 2006 à 10:11:53

    Salut les Zéro,

    je voulais savoir a quoi sert de stocker l'adresse d'une variable dans
    un pointeur :( .
    voila c'est tous :) .
    • Partager sur Facebook
    • Partager sur Twitter
      18 janvier 2006 à 11:06:08

      ca te permet par exemple, d'avoir une variable qui est le synonyme d'une autre, donc deux variables qui pointent vers la meme valeur.

      Ensuite, c'est utilisé dans la tableau. Dans une fonction, au lieu de passer tout le tableau, on donne un pointeur vers le tableau (qui est naturellement beaucoup plus petit en taille).

      Apres il y a des utilisateurs beaucoup plus complexe ;)
      • Partager sur Facebook
      • Partager sur Twitter
        18 janvier 2006 à 11:29:46

        Citation : kokotchY

        Apres il y a des utilisateurs beaucoup plus complexe



        Citons les pointeurs de fonctions, qui permettent de passer des fonctions en paramètres en encore de créer des tableaux de fonctions.

        Les pointeurs sont aussi indispensables pour l'allocation dynamique de mémoire. C'est utilisé quand on ne connaît pas d'avance le nombre d'éléments à mettre dans un tableau. La mémoire allouée est décidée en cours d'exécution.

        Une autre utilisation des pointeurs est la modification de plusieurs variables en même temps par une fonction. En effet, une fonction ne peut modifier les variables passées en paramètre car elle travaille en fait avec une copie locale de la variable. Une fois sortie de la fonction, la variable retrouve son ancienne valeur (qu'elle n'a techniquement jamais perdue).

        Pour modifier plusieurs variables d'un coup, on n'a d'autre choix que de retourner une structure qui contient les différentes variables modifiées, mais ca fait un peu bricolage.

        Une autre solution est de passer non pas des variables, mais des pointeurs vers des variables. Ces pointeurs ne peuvent pas être modifiée, mais ce qui est pointé par le pointeur bien! Cette technique a l'inconvénient de générer un effet de bord, ce qu'on ne souhaite pas généralement.
        • Partager sur Facebook
        • Partager sur Twitter
          18 janvier 2006 à 12:25:19

          Le prochain chapitre sera justement sur les pointeurs. Il devrait être rendu public d'ici peu.
          C'est un bol d'ailleurs, parce que j'ai toujours pas le net et j'ai du faire des pieds et des mains pour le rédiger celui-là !
          • Partager sur Facebook
          • Partager sur Twitter

          If you'd like to join us, read "How do we work at OpenClassrooms"! :)

          Anonyme
            18 janvier 2006 à 12:35:24

            cool !
            vivement bientot ! :)
            • Partager sur Facebook
            • Partager sur Twitter
              18 janvier 2006 à 12:39:47

              Oui, je vois que M@teo21 a enfin enlevé son bonnet :D ( avatar ^^ )
              EDIT : Je viens juste de finir le chapitre sur les prototypes ça tombe bien :p
              • Partager sur Facebook
              • Partager sur Twitter
                18 janvier 2006 à 12:44:09

                Euh direct les pointeurs ? Et les tableaux et les chaînes de caractères ? oO
                Notez qu'il existe deux types de pointeurs qui n'ont à voir que le concept : Les pointeurs sur fonctions et les pointeurs sur objets. Les deux ne se mélangent pas mais le concept au fond est le même.

                <modo> pas de titre en MAJ.
                • Partager sur Facebook
                • Partager sur Twitter
                  18 janvier 2006 à 15:00:05

                  Les tableaux et chaînes de caractères utilisent la notion de pointeur, j'ai trouvé plus logique de commencer par les pointeurs. Tu comprendras sûrement mieux mon raisonnement dans 2-3 chapitres, quand tout cela sera sorti ;)
                  • Partager sur Facebook
                  • Partager sur Twitter

                  If you'd like to join us, read "How do we work at OpenClassrooms"! :)

                    20 janvier 2006 à 11:42:48

                    A m@teo 21 > Pourras tu expliquer comment manipuler les chaines de charcatère?
                    On sait faire qu'avec les nombre...

                    Merci!
                    • Partager sur Facebook
                    • Partager sur Twitter
                      20 janvier 2006 à 12:54:03

                      Note sur le tuto en lien : Pas mal d'erreurs :
                      #define EOF (-1) est moisi, *rien* ne garantie que ça vaut -1...
                      Puis
                      char c; (c = getchar()) != EOF
                      fera tout autre chose que ce qu'on peut naïvement penser.
                      De plus ils préconisent gets... -_-
                      • Partager sur Facebook
                      • Partager sur Twitter
                        20 janvier 2006 à 14:57:59

                        hum c'est plutôt


                        #include <stdio.h>
                        #include <stdlib.h>

                        int main(void)
                        {
                            int c, n;
                            while ((c = getchar()) != EOF)
                            {
                               ++n;
                            }
                        return 0;
                        }


                        Il faut déclarer c comme un int vu que EOF est un int. Et EOF est le caractère de fin de fichier, il s'obtient avec Ctrl + Z sous Windows. Reprennez moi si je me trompe
                        • Partager sur Facebook
                        • Partager sur Twitter
                          20 janvier 2006 à 15:08:46

                          Euh, c'est C-d normalement EOF. :x Ca m'étonne que ce soit C-z mais bon.
                          • Partager sur Facebook
                          • Partager sur Twitter
                          Anonyme
                            20 janvier 2006 à 16:11:52

                            Citation : rz0

                            Euh, c'est C-d normalement EOF. :x Ca m'étonne que ce soit C-z mais bon.


                            Ctrl+Z c'est généralement annuler sous windows
                            • Partager sur Facebook
                            • Partager sur Twitter
                              20 janvier 2006 à 16:14:25

                              Oui je sais mais je viens de tester et le Ctrl+Z me fait bien mon EOF
                              • Partager sur Facebook
                              • Partager sur Twitter

                              Usages des pointeurs

                              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                              • Editeur
                              • Markdown