Comment savoir si un téléphone est neuf ou reconditionné ?
Question proposée par Answiki le mardi 11 décembre 2018 à 09:07:20.

Comment faire un programme en C avec les pointeurs ?

En C, un pointeur représente l'adresse d'une variable, c'est-à-dire l'adresse de cette variable dans la mémoire. Il y a quelques notion de syntaxe à connaître pour pouvoir utiliser les pointeurs :

Le caractère * utilisé à la déclaration permet de déclarer un pointeur :
// Déclare un pointeur vers une variable de type entier
int *pVal;
// Déclare un pointeur vers une variable de type flotant
float *pReal;

Le caractère & permet de récupérer l'adresse d'une variable (c'est-à-dire un pointeur vers cette variable) :
// On affecte l'adresse de la variable val au pointeur pVal:
pVal = &val;
// On affiche l'adresse de la variable pReal :
printf ("%p", &preal);

Enfin, le caractère * utilisé hors déclaration permet de manipuler le contenu de la variable pointée par le pointeur :
// On affecte 5 à la variable pointée par pVal (équivalent à val = 5) 
*pVal = 5;
// Affiche la variable pointée par le pointeur pVal (affiche 5) :
printf ("%d", *pVal);

Voici un exemple complet qui synthétise l'utilisation des pointeurs :
// Programme d'exemple sur les pointeurs
#include <stdio.h>

int main()
{
    // Déclare une variable val et lui affecte la valeur 256 et un pointer pVal
    int val=256, *pVal;
    
    // On affecte l'adresse de val au pointer pVal
    // pVal prend pour valeur l'adresse de val
    pVal = &val;
    
    // Affiche la valeur de la variable val (256)
    printf ("Variable val = %d\n", val);
    
    // Affiche l'adresse mémoire de la variable val 
    printf ("Adresse de val = %p\n", &val);
    
    // Affiche l'adresse contenue dans le pointer pVal
    printf ("Adresse contenue dans le pointeur pt = %p\n", pVal);
    
    // Affiche la valeur pointée par pVal (ici la variable val, donc 256)
    printf ("Valeur pointée par pointeur = %d\n", *pVal);
    
    return 0
}

Ce programme affiche (notez que les adresses en mémoire peuvent changer) :
Variable val = 256                                                                                                                                    
Adresse de val = 0x7ffd4a9d70dc                                                                                                                       
Adresse contenue dans le pointeur pt = 0x7ffd4a9d70dc                                                                                                 
Valeur pointée par pointeur = 256


Annuler
Réinitialiser
Valider
Réponse proposée par Answiki le mardi 11 décembre 2018 à 09:26:01.
En C, un pointeur représente l'adresse d'une variable, c'est-à-dire l'adresse de cette variable dans la mémoire. Il y a quelques notion de syntaxe à connaître pour pouvoir utiliser les pointeurs :

Le caractère * utilisé à la déclaration permet de déclarer un pointeur :
// Déclare un pointeur vers une variable de type entier
int *pVal;
// Déclare un pointeur vers une variable de type flotant
float *pReal;

Le caractère & permet de récupérer l'adresse d'une variable (c'est-à-dire un pointeur vers cette variable) :
// On affecte l'adresse de la variable val au pointeur pVal:
pVal = &val;
// On affiche l'adresse de la variable pReal :
printf ("%p", &preal);

Enfin, le caractère * utilisé hors déclaration permet de manipuler le contenu de la variable pointée par le pointeur :
// On affecte 5 à la variable pointée par pVal (équivalent à val = 5) 
*pVal = 5;
// Affiche la variable pointée par le pointeur pVal (affiche 5) :
printf ("%d", *pVal);

Voici un exemple complet qui synthétise l'utilisation des pointeurs :
// Programme d'exemple sur les pointeurs
#include <stdio.h>

int main()
{
    // Déclare une variable val et lui affecte la valeur 256 et un pointer pVal
    int val=256, *pVal;
    
    // On affecte l'adresse de val au pointer pVal
    // pVal prend pour valeur l'adresse de val
    pVal = &val;
    
    // Affiche la valeur de la variable val (256)
    printf ("Variable val = %d\n", val);
    
    // Affiche l'adresse mémoire de la variable val 
    printf ("Adresse de val = %p\n", &val);
    
    // Affiche l'adresse contenue dans le pointer pVal
    printf ("Adresse contenue dans le pointeur pt = %p\n", pVal);
    
    // Affiche la valeur pointée par pVal (ici la variable val, donc 256)
    printf ("Valeur pointée par pointeur = %d\n", *pVal);
    
    return 0
}

Ce programme affiche (notez que les adresses en mémoire peuvent changer) :
Variable val = 256                                                                                                                                    
Adresse de val = 0x7ffd4a9d70dc                                                                                                                       
Adresse contenue dans le pointeur pt = 0x7ffd4a9d70dc                                                                                                 
Valeur pointée par pointeur = 256


Réponse proposée par Answiki le mardi 11 décembre 2018 à 09:25:10.
En C, un pointeur représente l'adresse d'une variable, c'est-à-dire l'adresse de cette variable dans la mémoire. Il y a quelques notion de syntaxe à connaître pour pouvoir utiliser les pointeurs :

Le caractère * utilisé à la déclaration permet de déclarer un pointeur :
// Déclare un pointeur vers une variable de type entier
int *pVal;
// Déclare un pointeur vers une variable de type flotant
float *pReal;

Le caractère & permet de récupérer l'adresse d'une variable (c'est-à-dire un pointeur vers cette variable) :
// On affecte l'adresse de la variable val au pointeur pVal:
pVal = &val;
// On affiche l'adresse de la variable pReal :
printf ("%p", &preal);

Enfin, le caractère * utilisé hors déclaration permet de manipuler le contenu de la variable pointée par le pointeur :
// On affecte 5 à la variable pointée par pVal (équivalent à val = 5) 
*pVal = 5;
// Affiche la variable pointée par le pointeur pVal (affiche 5) :
printf ("%d", *pVal);

Voici un exemple complet qui synthétise l'utilisation des pointeurs :
// Programme d'exemple sur les pointeurs
#include <stdio.h>

int main()
{
    // Déclare une variable val et lui affecte la valeur 256 et un pointer pVal
    int val=256, *pVal;
    
    // On affecte l'adresse de val au pointer pVal
    // pVal prend pour valeur l'adresse de val
    pVal = &val;
    
    // Affiche la valeur de la variable val (256)
    printf ("Variable val = %d\n", val);
    
    // Affiche l'adresse mémoire de la variable val 
    printf ("Adresse de val = %p\n", &val);
    
    // Affiche l'adresse contenue dans le pointer pVal
    printf ("Adresse contenue dans le pointeur pt = %p\n", pVal);
    
    // Affiche la valeur pointée par pVal (ici la variable val, donc 256)
    printf ("Valeur pointée par pointeur = %d\n", *pVal);
    
    return 0
}

Ce programme affiche (notez que les adresses en mémoire peuvent changer) :
Variable val = 256                                                                                                                                    
Adresse de val = 0x7ffd4a9d70dc                                                                                                                       
Adresse contenue dans le pointeur pt = 0x7ffd4a9d70dc                                                                                                 
Valeur pointée par pointeur = 256


# ID Query URL Count