Pointeurs en C

Résolu
Bonjour, je voudrais que quelqu'un m'explique la notion de pointeur en langage C.
C'est vrai que les pointeurs peuvent servir à allouer l'espace mémoire nécessaire pour un tableau dynamique, une chaîne de caractères dynamique...
Mais le problème n'est pas là , je souhaiterais savoir à quoi les pointeurs servent (à part ce qui est cité là-haut).
Merci.

1 réponse

  1. Contributeur
    Bonjour,

    Pour la définition générale, autant lire un article dédié :
    https://openclassrooms.com/fr/courses/1894236-programmez-avec-le-langage-c/1896772-declarez-les-pointeurs

    Sinon, un pointeur peut servir à plein de chose. Sans être exhaustif, cela peut servir à :
    passer des paramètres (int, double, ...) par pointeur afin de modifier la valeur du paramètre envoyé.
    faire des callbacks (via pointeurs de fonction)
    faire des listes

    Cdlt,
    1. Merci fiddy pour cette explication, mais que veut dire "passer des paramètres"??
      Merci encore.
    2. Contributeur
      Par exemple :
      static void somme(const int a, const int b, int * const c) {
           *c=a+b;
      }
      
      int main(void) {
           int a=5;
           int b=3;
           int c;
           somme(a,b,&c);
           printf("somme=%d\n",c);
           return 0;
      }
      

      On a passé, a, b et c en paramètre de la fonction somme. a et b ont été passés par copie tandis que c a été passé par pointeur.

      Cdlt,
    3. @fiddyMerci.
      Maintenant, j'ai les idées plus claires au sujet des pointeurs, le langage C est vraiment un très bon langage.
      Je crois que je devrais jeter un coup d'oeil sur le lien que tu m'as donné.
    4. Contributeur
      @AnonymTrès bon langage.... Ca dépend pour faire quoi :-).
      Si c'est pour coder un outil, voir même un programme. Il y a bien plus simple comme le python.
    5. @fiddyOui peut être mais pour le moment je reste sur le C.
      Le problème c'est que je n'ai pas le temps.
      Pour information: j'ai 10 ans...

      return 0;
      !!
      A +