Les pointeurs en C

#include <stdio.h>
int main(int argc, char *argv[]){
    /*
        RAPPEL
        pointeur > contenu de pointeur
        *pointeur > pointe à l'adresse qu'on lui a donné.
        &pointeur > adresse du pointeur lui-même
    */
    /* INITIALISATION */
    int chiffre=20;
    int *pointeur= chiffre;//en fait ça n'a aucun interet, cela revient à dire int pointeur=chiffre;
    int *pointeur1 = &chiffre;//là si car on donne juste l'adresse
    int *pointeur2 = &pointeur1;//plus complexe car je donne l'adresse du pointeur1
    int *pointeur3 = pointeur1;//valeur de pointeur1 = adresse de chiffre
    /* AFFICHAGE */
    printf("POINTEURS \n");
    printf("Contenu de ma variable \"chiffre\" : %d\n", chiffre);
    printf("Adresse de chiffre : %d \n", &chiffre);
    printf("\n");
    printf("Valeur contenue dans \"pointeur\" : %d\n", pointeur);
    printf("Adresse de \"pointeur\" : %d\n",&pointeur);
    printf("\"*pointeur\" n'existe pas");//printf("%d\n", *pointeur); retourne une erreur monumentale !!
    printf("\n");
    printf("\n");
    printf("Contenu de \"pointeur1\" : %d\n", pointeur1);
    printf("Contenu de l'adresse donnée à \"pointeur1\" : %d\n", *pointeur1);
    printf("Adresse de \"pointeur1\" : %d\n",&pointeur1);
    printf("\n");
    printf("Valeur contenue dans pointeur2 : %d\n", pointeur2);
    printf("Contenu de l'adresse donnée à \"pointeur2\" : %d\n", *pointeur2);
    printf("Adresse de \"pointeur2\" : %d\n",&pointeur2);
    printf("\n");
    printf("Valeur contenue dans  \"pointeur3\" : %d\n", pointeur3);
    printf("Contenu de l'adresse donnée à \"pointeur3\" : %d\n", *pointeur3);
    printf("Adresse de \"pointeur3\" : %d\n",&pointeur);
    getch();
    return 0;
}

RESULAT :

POINTEURS
Contenu de ma variable « chiffre » : 20
Adresse de chiffre : 2293528

Valeur contenue dans « pointeur » : 20
Adresse de « pointeur » : 2293524
« *pointeur » n’existe pas

Contenu de « pointeur1 » : 2293528
Contenu de l’adresse donné à « pointeur1 » : 20
Adresse de « pointeur1 » : 2293520

Valeur contenue dans pointeur2 : 2293520
Contenu de l’adresse donné à « pointeur2 » : 2293528
Adresse de « pointeur2 » : 2293516

Valeur contenue dans « pointeur3 » : 2293528
Contenu de l’adresse donnée à « pointeur3 » : 20
Adresse de « pointeur3 » : 2293524

P.S : Pour les adresses, si vous ne trouvez pas le même résultat, c’est normal, cela dépend de votre PC, ou plus précisément de votre processeur.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s