Pointeurs en C

Résolu/Fermé
Anonym - 1 mai 2016 à 18:06
 anonym - 14 mai 2016 à 20:50
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

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
1 mai 2016 à 18:49
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,
0
Merci fiddy pour cette explication, mais que veut dire "passer des paramètres"??
Merci encore.
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
1 mai 2016 à 19:26
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,
0
Anonym > fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022
1 mai 2016 à 21:08
Merci.
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é.
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835 > Anonym
1 mai 2016 à 21:38
Trè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.
0
Anonym > fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022
1 mai 2016 à 21:52
Oui 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 +
0