Inscription / Connexion Nouveau Sujet
Niveau calculatrices
Partager :

Les pointeurs pointés du doigt!

Posté par kuid312 (invité) 06-04-07 à 19:33

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

Posté par
_Estelle_
re : Les pointeurs pointés du doigt! 06-04-07 à 19:36

Salut kuid

Tu apprends sur quel site ? Le Zéro ?

Estelle

Posté par kuid312 (invité)re : Les pointeurs pointés du doigt! 06-04-07 à 19:38

Salut Estelle,

Citation :
Tu apprends sur quel site ? Le Zéro ?


Quelle clairvoyance
oui en effet j'apprends ici sur le sdz:

Tu pourrais m'aideR?

Kuider

Posté par
_Estelle_
re : Les pointeurs pointés du doigt! 06-04-07 à 19:42

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

Posté par kuid312 (invité)re : Les pointeurs pointés du doigt! 06-04-07 à 19:44

Ok ,

Pas de probléme

Kuider

Posté par
J-P Posteur d'énigmes
re : Les pointeurs pointés du doigt! 06-04-07 à 19:45

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.

Posté par kuid312 (invité)re : Les pointeurs pointés du doigt! 06-04-07 à 19:52

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

Posté par
J-P Posteur d'énigmes
re : Les pointeurs pointés du doigt! 06-04-07 à 19:58

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.

Posté par kuid312 (invité)re : Les pointeurs pointés du doigt! 06-04-07 à 20:00

Ok, merci beaucoup

Kuider

Posté par
J-P Posteur d'énigmes
re : Les pointeurs pointés du doigt! 06-04-07 à 20:01

Tu auras peut être des avis totalement opposés au mien.

Posté par
pgeod
re : Les pointeurs pointés du doigt! 06-04-07 à 20:26

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.

...

Posté par kuid312 (invité)re : Les pointeurs pointés du doigt! 06-04-07 à 20:35

Donc si j'ai compri,On utiliserai donc moins d'adresses?

Kuider

Posté par
pgeod
re : Les pointeurs pointés du doigt! 06-04-07 à 20:48

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.

...

Posté par kuid312 (invité)re : Les pointeurs pointés du doigt! 06-04-07 à 20:54

Euh..c'est oui ou non ?

Kuider

Posté par kuid312 (invité)re : Les pointeurs pointés du doigt! 06-04-07 à 21:11

Posté par
pgeod
re : Les pointeurs pointés du doigt! 06-04-07 à 21:12

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.

...

Posté par kuid312 (invité)re : Les pointeurs pointés du doigt! 06-04-07 à 21:16

Ok

Donc c'est un oui?

Merci

Kuider

Posté par kuid312 (invité)re : Les pointeurs pointés du doigt! 06-04-07 à 22:17

Bonne soirée

Posté par
stokastik
re : Les pointeurs pointés du doigt! 06-04-07 à 23:06

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.

Posté par
Cauchy
re : Les pointeurs pointés du doigt! 06-04-07 à 23:19

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

Posté par
stokastik
re : Les pointeurs pointés du doigt! 06-04-07 à 23:23

J'ai retrouvé le topic sur le forum des développeurs :

En le suivant attentivement je crois qu'il est instructif.

Posté par
Rouliane
re : Les pointeurs pointés du doigt! 06-04-07 à 23:31

Citation :
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.


Sauf si tu l'enregistres dans une variable globale

Pour revenir à kuid, comme dis J-P il peut très bien s'en passer pour l'instant, surtout s'il est au tout début de la programmation C. Y'a de quoi faire pas mal de choses sur les tableaux etc ...

Posté par
stokastik
re : Les pointeurs pointés du doigt! 06-04-07 à 23:33

Citation :
Sauf si tu l'enregistres dans une variable globale


J'ai entendu dire que c'est mal les variables globales en C.

Posté par
Rouliane
re : Les pointeurs pointés du doigt! 06-04-07 à 23:35

J'ai pas dit que c'était bien !
Ca bouffe beaucoup de place mémoire donc moins on en utilise mieux on se porte.

Posté par
jamo Moderateur
re : Les pointeurs pointés du doigt! 07-04-07 à 12:40

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 :

Posté par kuid312 (invité)re : Les pointeurs pointés du doigt! 08-04-07 à 00:39

Encore une fois, merci jamo

Kuider



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !