pointeurs
Répondre à la discussion
Affichage des résultats 1 à 14 sur 14

pointeurs



  1. #1
    invitea4c2cc0f

    pointeurs


    ------

    Salut à tous,
    Je bute au niveau des sorties suivantes
    #
    int T[]={10,87,34,45,56,7,24,89,78};
    int *P;
    P=T;
    #
    Quelles valeurs ou adresses fournissent ces expressions ?
    a) *P+2
    b) &P+5
    c) T+4
    d) P+(*P-9)
    J'ai trouvé 12 pour le premier mais le deuxième est "infaisable" pour moi

    -----

  2. #2
    CM63

    Re : pointeurs

    Bonjour,

    Selon le cas, on te demande soit une valeur soit une adresse. Dans le cas b), tu ne peux évidement pas donner une valeur puisque &P est une adresse. Mais on te demande dans cas : quelle adresse représente &P + 5 : quel position dans le tableau T? Ou l'adresse de quelle valeur : 10, 87, 34 ... etc , ou 78?
    Dans la question c) , T étant une adresse, on te demande également une adresse : T+4 est l'adresse de quoi? C'est l'adresse de quelle valeur dans le tableau T?
    Et dans la question d), peut-être peux-tu maintenant répondre : on te demande une valeur ou une adresse?
    Dernière modification par CM63 ; 27/06/2016 à 21h42.

  3. #3
    Jack
    Modérateur

    Re : pointeurs

    Ce qui me stupéfie toujours dans ce genre de question, c'est qu'il suffit d'essayer le code pour vérifier et/ou obtenir le résultat. De plus, avec le débogueur, on peut même voir les adresses et les valeurs des variables.

    Pourquoi ne testes-tu donc pas ces expressions?

  4. #4
    invite2d7144a7

    Re : pointeurs

    Bonjour,
    Citation Envoyé par Jack Voir le message
    Ce qui me stupéfie toujours dans ce genre de question, c'est qu'il suffit d'essayer le code pour vérifier et/ou obtenir le résultat. De plus, avec le débogueur, on peut même voir les adresses et les valeurs des variables.

    Pourquoi ne testes-tu donc pas ces expressions?
    Pour mes cours, quand je pose ce genre de question, environ la moitié des élèves donnent la bonne réponse, amis sont incapables de le refaire lors de l'oral !

    Ils n'ont donc rien compris, et ont trouvé la réponse en testant.

    Ce n'est donc pas une bonne suggestion : trouver une réponse et comprendre le raisonnement sont 2 choses différentes.

  5. A voir en vidéo sur Futura
  6. #5
    Jack
    Modérateur

    Re : pointeurs

    La finalité du test n'est évidemment pas d'afficher "bêtement" le résultat.

    Le premier contact avec les pointeurs n'est pas toujours des plus évidents et la possibilité de pouvoir observer les valeurs, les adresses, les modifier, bref faire des tests devrait normalement permettre de bien se familiariser avec toutes ces notions.

    Après, en cas de difficultés persistantes, le forum sera effectivement utile pour donner des renseignements complémentaires.

  7. #6
    invitea4c2cc0f

    Re : pointeurs

    Ce qui vous échappe surement c'est qu'on ne nous permet de tester.Tout doit etre fait theoriquement

  8. #7
    invite2d7144a7

    Re : pointeurs

    Bonjour,
    Citation Envoyé par amiire6 Voir le message
    Ce qui vous échappe surement c'est qu'on ne nous permet de tester.Tout doit etre fait theoriquement
    Tu as eu un cours, la réponse s'y trouve sûrement.

  9. #8
    Jack
    Modérateur

    Re : pointeurs

    Citation Envoyé par amiire6 Voir le message
    Ce qui vous échappe surement c'est qu'on ne nous permet de tester.Tout doit etre fait theoriquement
    Si je vais au bout de ta logique, tu n'as pas le droit non plus de demander au forum de t'aider.

  10. #9
    invitea4c2cc0f

    Re : pointeurs

    Non jack,je suis en train de réviser pour préparer mon examen.Ce sujet était sorti l’année dernière.Je veux dire que le jour de l'examen tout se fait théoriquement. On ne compile pas.

  11. #10
    invite830075ec

    Re : pointeurs

    Il faut d'abord ajouter toutes les parenthèses manquantes, si l'on ne tient pas compte de la précédence des opérateurs.

  12. #11
    Jack
    Modérateur

    Re : pointeurs

    Citation Envoyé par amiire6 Voir le message
    Non jack,je suis en train de réviser pour préparer mon examen.Ce sujet était sorti l’année dernière.Je veux dire que le jour de l'examen tout se fait théoriquement. On ne compile pas.
    Je trouve juste bizarre que tu t'interdises d'utiliser un ordinateur et que tu t'autorise à demander de l'aide sur le forum, les deux étant bien sur interdits lors de l'examen. Mais passons ...

    Pour la 2ème question, normal que tu ne puisses pas y répondre puisqu'on ne connais pas l'adresse mémoire du pointeur P. De plus, la taille d'un int n'est même pas précisée. Il doit manquer une information dans ton énoncé

  13. #12
    polo974

    Re : pointeurs

    Citation Envoyé par Jack Voir le message
    ...
    Le premier contact avec les pointeurs n'est pas toujours des plus évidents ...
    Perso, je trouve qu'on joue trop à "coucou, fais moi peur" quand on parle de pointeurs.
    (ou bien je suis un génie à l'insu de mon propre gré, mais j'ai vraiment du mal à y croire).

    la mémoire c'est un immense tableau (avec des trous dedans, car on n'a pas assez d'argent pour tout remplir).
    un pointeur, c'est donc juste un indice vers ce tableau.
    enfin, ça, c'est le point de vue d'un électronicien qui a mal tourné...

    (bon, c'est vrai qu'en C, quand on part dans des tableaux à plusieurs dimensions, ça commence à craindre...)
    Jusqu'ici tout va bien...

  14. #13
    Jack
    Modérateur

    Re : pointeurs

    Ayant débuté la programmation par les microprocesseurs et le langage d'assemblage je n'ai personnellement pas eu de problème particulier à intégrer la notion d'indirection.
    Il reste, et c'est mon expérience personnelle, que pour une proportion non négligeable des personnes qui débutent la programmation, cette façon d’accéder de manière indirecte à une position mémoire est une épreuve à surmonter.

  15. #14
    polo974

    Re : pointeurs

    pour expliquer, je fais souvent l'analogie entre le numéro dans la rue (l'adresse) et le contenu de la boite aux lettres s'y trouvant (la data)...
    Jusqu'ici tout va bien...

Discussions similaires

  1. Pointeurs [langage C]
    Par invitea0ff9272 dans le forum Électronique
    Réponses: 6
    Dernier message: 07/09/2013, 18h13
  2. Pointeurs
    Par invite979fcc20 dans le forum Programmation et langages, Algorithmique
    Réponses: 7
    Dernier message: 30/09/2011, 02h05
  3. tableau et pointeurs c++
    Par invite0422bf25 dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 11/12/2009, 18h50
  4. ?les pointeurs & les structures()
    Par invite5c6a01fc dans le forum Logiciel - Software - Open Source
    Réponses: 5
    Dernier message: 08/12/2009, 23h14
  5. C: pointeurs, destructions
    Par inviteead871d5 dans le forum Logiciel - Software - Open Source
    Réponses: 4
    Dernier message: 15/08/2008, 11h54