Exercice langage C corrigé introduction aux pointeurs

Exercice langage C introduction aux pointeurs, tutoriel & guide de travaux pratiques en pdf.

  1.  Le programme ci-dessous illustre le fonctionnement des pointeurs en affichant les différentes valeurs contenues dans les variables.

Lisez-le en essayant de le comprendre. Essayez de déduire quelles vont être les valeurs affichées par les instructions cout.

#include 

using namespace std;

int main(int argc, char **argv) {
  int i = 9;

  cout << "Contenu de i: '" << i << "'" << endl;
  cout << "Adresse de i: '" << (unsigned int)&i << "'" << endl << endl;

  /* On declare un pointeur sur int et on lui
   * affecte l'adresse de i. On dit que p 
   * pointe sur i. */
  int *p = &i;

  cout << "Contenu de p: '" << (unsigned int)p << "'" << endl;
  cout << "Adresse de p: '" << (unsigned int)&p << "'" << endl;
  cout << "Contenu de la variable pointee par p: '" << *p << "'" << endl << endl;

  // On affecte 10 a l'adresse pointee par p.
  *p = 10;

  cout << "Contenu de la variable pointee par p: '" << *p << "'" << endl;
  cout << "Contenu de i: '" << i << "'" << endl;

  // Partie a completer

  // Fin de la partie a completer

  return 0;
}

2. Recopiez le programme donné dans emacs, compilez-le et lancez-le. Est-ce que les résultats affichés correspondent à ce que vous aviez prévu au point précédent?

Exercice langage C

Remarque: les adresses en mémoire sont toujours affichées sous forme hexadécimale (base 16). Pour les voir sous forme décimale, il faut les convertir en unsigned int, comme dans l’exemple ci-dessus.

3. Complétez le programme en incrémentant la variable i de 10 (i = i + 10), sans avoir recours directement à la variable i (utilisez un pointeur). Affichez ensuite la valeur de i pour vérifier que l’opération s’est bien déroulée.

4. Déclarez un nouveau pointeur sur int que vous nommerez q. Faites pointer q sur i. A nouveau, faites-le sans utiliser directement la variable i. Affichez le contenu du pointeur q pour vérifier votre code.

5. Déclarez une variable f de type float. Initialisez-la à . Echangez ensuite son contenu avec celui de i, sans avoir recours à la variable i. Affichez les valeurs de i et f.

Exercice langage C

6. Déclarez une nouvelle variable j de type int que vous initialisez à 8. Faites pointer q sur j. Maintenant, échangez les valeurs de i et j sans utiliser ni i, ni j.

Affichez finalement les valeurs de i et j.

La correction exercice C/C++ (voir page 2 en bas)

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *