Chapitre 9 les pointeurs Cours programmation langage C Chapitre Les pointeurs Objectifs ? Conna? tre la notion de pointeur en C ? Conna? tre les caractéristiques des variables de type pointeur en C ? Savoir écrire des programmes en utilisant les pointeurs
Cours programmation langage C Chapitre Les pointeurs Objectifs ? Conna? tre la notion de pointeur en C ? Conna? tre les caractéristiques des variables de type pointeur en C ? Savoir écrire des programmes en utilisant les pointeurs Annexe TDs Introduction Toute variable manipulée dans un programme est stockée quelque part en mémoire centrale Cette mémoire est constituée de mots qui sont identi ?és de manière univoque par un numéro qu ? on appelle adresse Pour retrouver une variable il su ?t donc de conna? tre l ? adresse du mot o? elle est stockée ou s ? il s ? agit d ? une variable qui recouvre plusieurs mots contigus l ? adresse du premier de ces mots Pour des raisons évidentes de lisibilité on désigne souvent les variables par des identi ?cateurs et non par leur adresses C ? est le compilateur qui fait a lors le lien entre l ? identi ?cateur d ? une variable et son adresse en mémoire Toutefois il est parfois très pratique de manipuler directement une variable par son adresse Adresse et valeur d ? un objet On appelle Lvalue Left value tout objet pouvant être placé à gauche d ? un opérateur d ? a ?ectation Une Lvalue est caractérisée par son adresse C ? est à dire l ? adresse mémoire à partir de laquelle l ? objet est stocké - sa valeur c ? est à dire ce qui est stocké à cette adresse ?? Adressage direct Le nom de la variable nous permet d'accéder directement à sa valeur ?? Adressage direct Accès au contenu d'une variable par le nom de la variable ?? Adressage indirect Si nous ne voulons ou ne pouvons pas utiliser le nom d'une variable A nous pouvons copier l'adresse de cette variable dans une variable spéciale P appelée pointeur Ensuite nous pouvons retrouver l'information de la variable A en passant par le pointeur P ?? Adressage indirect Accès au contenu d'une variable en passant par un pointeur qui contient l'adresse de la variable Notion de pointeur Un pointeur est un objet variable ? Lvalue ? dont la valeur est égale à l ? adresse d ? un autre objet On déclare un pointeur par l ? instruction Type nomdupointeur Type de l ? objet pointé Identi ?cateur dont la valeur est l ? adresse d ? un objet de type Type CCours programmation langage C Annexe TDs Exemple char pc pc est un pointeur pointant sur un objet de type char int pi pi est un pointeur pointant sur un objet de type int L ? opérateur unaire d ? indirection permet d ? accéder directement à la valeur de l ? objet pointé Ainsi si p est un pointeur vers un entier i p désigne la valeur de i Par exemple le programme main int i int p p est un pointeur sur un objet de type entier p j p contient l ? adresse de la variable printf contenu de la case
Documents similaires
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/uYaDTERGbAIaCRfQommaXBZsMVY08Cq0AfX7HuMkP2Vcq6gTrxDpwA5ZcSpIlS9PQsve8BiInlfSmaEkdA3mSOjI.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/11703322401z0fx84ltlq2dtpptqnwjd5epyzyvdjfxyrv5zijwcsyp1cp9uuixvpkijtfd7liaukj7wqxuekr9nkaaxhd268lmonljtzpxhywm.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/117031187906zd1vv84u2evcg2wcpypil6vm1h2xcsvcu06il6wu3kfoie2hep1gb6oe6ep1xerh6kljsdijr2tcoanlr5xyoucinmkw7pujpr3.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/KClwXpu0oaOFPrDQOCzVjsgoUSC54vvz6QetE7WTGI2tm5UJjklIO2i4za31etbkFZo8xaz0HUeIWLdh5pboWoDK.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/PrbgUx65SZy12v29LLv70TEB4w2xLOaYjJaxYNzESvvccwLom4QFkRL7GDsc4iOmwlCQbhOErWObmWDVmkLiBng8.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/11702973777m77aliu3ujnif8mll37vsbzbdzr4zhddcqie5xblbourjabikoebyrd4gtrfmxriu6hkgszpxkwdgaw5sr4rdfi68htjtca2ionj.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/7ynlzBvyUFbDjAhOieFXr1pLRc7lxV6Hgl6ypfjavusg2tfcDpP3hdZBuw8CFetan8MRXgM1yosIMLGWC10xGkar.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/gCBTzx6ExCAnyfNSzzua0BuRwYxLIl3yYl48M2u8tfUBUspIcsnLmzocsALAfhA0EGmbfndet1AUrNXBjqpJVw6q.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/ckdTPhEEDvFDh2QEFaNYPSvoijM4KGfMKDAAzBrBBivT0kqtiVqet2UY4qzfCZg2pMm7nY0maaQP2aQmLiB79NSo.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/htQkQiVRpEPJf4G1bkTZBKTzkSmT91t2K4O2fNQhB4wEfAtFk8yWaeti5ir6pY9vIqHff0tR5xqTpaGU3QCC3XzM.png)
-
24
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Aucune attribution requise- Détails
- Publié le Dec 10, 2021
- Catégorie Literature / Litté...
- Langue French
- Taille du fichier 64kB