Pointeurs en C

Résolu/Fermé
Signaler
-
 anonym -
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

Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
1 803
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
Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
1 803
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
>
Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016

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
Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
1 803 > Anonym
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
>
Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016

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