Bonsoir,
Je me lance dans la programmation en C
J'ai cependant un petit souci avec les pointeurs! Sur le site avec lequel j'étudie ce langage, je n'ai pas compri ni l'intérêt d'un pointeur ni comment s'en servir.
Merci d'avance de votre aide
(Le post n'a pas un lien direct avec les maths)
Kuider
Ah, je vois que les pointeurs débutent à la partie 2.
Mais j'en suis seulement à la fin de la partie 1, désolée
Estelle
Si tu commences la programmation en C, fais l'impasse sur les pointeurs, il sera encore temps de les utiliser quand tu maîtriseras déjà mieux tout le reste.
Il est vrai que dans certains cas particuliers, l'utilisation des pointeurs permet de raccourcir le code mais aussi à le rendre bien moins accessible (à mon avis) à la compréhension.
Les pointeurs ont été portés au pinacle à la sortie du C, depuis lors, l'engouement a très fortement diminué au point de quasi disparaître ou au moins d'être à usage beaucoup plus limité dans les nouveaux langages de programmation, C sharp et autres.
Mais je ne suis pas programmeur.
Merci J-P
Mais..je ne serais pas pénalisé pour le reste?
Les pointeurs , n'est-ce pas une chose primordiale dans un programme?
Kuider
Non.
Sauf si les exercices donnés obligent à leur utilisation.
En pratique, on peut presque toujours écrire un programme sans les utiliser.
Par contre, il est possible que le cours que tu suis te torde le bras pour t'obliger à les utiliser et tourne ses énoncés de problèmes dans ce sens.
bonjour kuid,
Il y a déjà quelque temps que je ne fais plus de programmation en C et en C++.
Cependant un pointeur est une variable qui comporte non pas une valeur (entier, real, string, etc...) mais l'adresse d'une variable contenant une valeur.
L'intérêt de transmettre entre modules une adresse de variable, c'est que cette adresse ne change pas, alors que la valeur de la variable elle-même peut être mise à jour en cours d'exécution du module.
Sans compter que passer une adresse à un module appelé est plus rapide que passer une valeur qui peut être codée sur plusieurs octets (lorsqu'on passe une valeur, il y a recopie de la valeur en zone mémoire avant exécution du programme);
Sans compter également que certaines structures de données ne peuvent être passées que par pointeur (c'est le cas, si je me rappelle bien, des chaînes de caractères).
J'espère que cela te donne une petite idée des pointeurs, dont l'intérêt est réel en programmation C.
Je suis par contre plus réservé sur l'intérêt des pointeurs de pointeurs (et oui, ça existe aussi), sauf cas particulier. Et là, effectivement, c'est pas très lisible.
...
Donc si j'ai compri,On utiliserai donc moins d'adresses?
Kuider
Re :
Mon expérience de la programmation en C remonte à 10 ans.
Notre souci à l'époque était l'optimisation des temps d'exécution des programmes.
On programmait en C pour la performance des temps de traitement.
Depuis, la rapidité des processeurs et l'amélioration des compilateurs ne nécessite peut-être plus une telle optimisation.
sous toute réserve.
...
Je t'ai répondu, pour ma part :
J'ai toujours utilisé les pointeurs sauf pour la transmission de paramètres non modifiables
et dont le format de stockage est inférieur au format d'un pointeur (qui doit être de 4 octets).
A l'heure actuelle, je ne sais pas si on utilise moins d'adresse qu'avant.
...
C'est dur de t'expliquer mieux les pointeurs que le site du zéro...
J'ai fait un peu de C. Il me semble que les pointeurs sont nécessaires quand on utilise des fonctions. Car à la fin d'une fonction, la variable est effacée, mais pas le pointeur.
Enfin quelque chose dans le genre... je n'ai fait qu'un petit peu de C et je n'ai jamais maitrisé... mais peut-être que je vais m'y remettre bientôt.
Mais il me semble qu'il y a un forum sur le site du zéro non ?
Sinon j'avais eu des informations très instructives sur les pointeurs sur "le forum des développeurs". Mais mon internet rame en cette période et je n'arrive pas à accèder à ce forum.
Effectivement si tu veux modifier des valeurs en passant par des fonctions tu es obligé de passer par les pointeurs.
Ca sert aussi dans pas mal de structures genre liste,etc..
Enfin ca fait longtemps que je m'en suis pas servi vu que les rares fois ou je programme des trucs c'est assez simple et je peux m'en passer
J'ai pas dit que c'était bien !
Ca bouffe beaucoup de place mémoire donc moins on en utilise mieux on se porte.
Bonjour,
les pointeurs sont en effet trés pratique en C, on a du mal à s'en passer ue fois qu'on les a bien compris.
Ils servent :
1) Passage de paramètres par adresse, ce qui permet d'éviter de créer des variables locales dans les fonctions (gain de mémoire) ;
2) Pour les tableaux, indispensable : allocation dynamique de mémoire, passage par adresse des tableaux dans les fonctions, afin d'éviter les variables globales ;
3) Certaines fonctions faisant partie des bibliotheques du C utilisent des pointeurs, donc n'a pas trop le choix (par exemple pour les fichiers).
Il est vrai qu'au début, c'est un peu compliqué à comprendre, mais une fois qu'on a compris comment est organisé la mémoire, avec ses adresses ... alors cela devient bien pmus clair.
Cependant, il est vrai que des langages plus "modernes" n'utilisent plus vraiment les pointeurs, et que l'économie de quelques kilo-octets de mémoire n'a plus grand sens aujourd'hui ... il y a 20 ans, on cherchis à économiser le moindre octet
Sinon, je te conseille l'excellent site/forum developpez.com :
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :