IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Pointeurs en C++


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    CONSULTANT
    Inscrit en
    Octobre 2005
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : CONSULTANT

    Informations forums :
    Inscription : Octobre 2005
    Messages : 28
    Par défaut Pointeurs en C++
    Bonjour tout le monde,

    je débutes en C++ et j'essaies avec douleur de comprendre le fonctionnement des pointeurs.

    en fait considérons la déclaration suivante :

    int c = 12;
    int *ptr = &c;

    Je déclare une variable c de type int que j'initialise à la valeur de 12.
    Je déclare un pointeur ptr de type int qui pointe vers l'adresse mémoire de la variable c.


    jusque là ça me semble logique.

    ma question qui va peut être vos sembler évidente est de savoir par quel moyen je procède pour modifier le contenu de c à 5 par le pointeur ptr.

    Merci d'avance pour vos idées ou vos solutions.

  2. #2
    Membre à l'essai
    Inscrit en
    Octobre 2005
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 6
    Par défaut
    Pour celà, il te faut utiliser *ptr :

    et ça va marcher.

    En gros, & veut dire "adresse de" et * veut dire "l'objet pointé par".

    Bon courage !

  3. #3
    Membre averti
    Profil pro
    CONSULTANT
    Inscrit en
    Octobre 2005
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : CONSULTANT

    Informations forums :
    Inscription : Octobre 2005
    Messages : 28
    Par défaut
    Merci pour cette réponse rapide.

  4. #4
    Membre émérite Avatar de Caine
    Inscrit en
    Mai 2004
    Messages
    1 028
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 028
    Par défaut
    Bonjour,
    petit aperçu rapide:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    int c = 12; 
    int *ptr = &c;
    int * est le type de la variable ptr, c'est un pointeur.
    Une variable de type pointeur est une variable qui contient une adresse.

    L'opérateur & devant une variable permet d'obtenir son adresse.

    Ainsi int *ptr = &c; déclare une variable de type pointeur dont la valeur est l'adresse de la variable c.

    Pour manipuler le contenu de la variable pointée et non son adresse, il faut déréférencer le pointeur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    *ptr = 5;
    cout >> "Valeur de c : " >> c;
    Déréférencer un pointeur consiste à utiliser l'opérateur * en préfixe d'une variable pointeur.

Discussions similaires

  1. pointeurs
    Par ghost74 dans le forum C
    Réponses: 3
    Dernier message: 14/12/2002, 02h52
  2. Pointeur vers un tableau
    Par Nikos dans le forum C
    Réponses: 3
    Dernier message: 09/12/2002, 00h43
  3. [Turbo Pascal] Allocation et désallocation de pointeurs dans une fonction
    Par neird dans le forum Turbo Pascal
    Réponses: 13
    Dernier message: 17/11/2002, 20h14
  4. djgpp et pointeurs far -2
    Par elvivo dans le forum Autres éditeurs
    Réponses: 16
    Dernier message: 29/07/2002, 22h43
  5. djgpp et pointeurs far
    Par elvivo dans le forum C
    Réponses: 2
    Dernier message: 13/07/2002, 00h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo