Différences entre versions de « Pointeurs en langage C »
Ligne 123 : | Ligne 123 : | ||
<!-- ****************** Commercez les modifications *********************** --> | <!-- ****************** Commercez les modifications *********************** --> | ||
− | *. | + | Techniquement, il y a trois utilisations majeures des pointeurs en C : |
− | . | + | |
− | + | *Le passage de références à des fonctions | |
− | + | *La manipulation de données complexes | |
− | *.. | + | *L’allocation dynamique de mémoire. |
− | + | ||
− | + | ||
− | ... | + | '''{{Passage de références à des fonctions}}''' |
+ | * Il est parfois souhaitable de modifier une variable d'une fonction appelante. Dès lors, plutôt que de passer la valeur de la variable en argument, c’est une référence vers celle-ci qui sera envoyée à la fonction. | ||
+ | |||
+ | '''{{Manipulation de données complexe}}''' | ||
+ | *Jusqu’à présent, nous avons manipulé des données simples : int, double, char, etc. Cependant, le C nous permet également d’utiliser des données plus complexes qui sont en fait des agrégats (un regroupement si vous préférez) de données simples. Or, il n’est possible de manipuler ces agrégats qu’en les parcourant donnée simple par donnée simple, ce qui requiert de disposer d’une référence vers les données qui le composent. | ||
+ | |||
+ | '''{{L’allocation dynamique de mémoire}}''' | ||
+ | *Il n’est pas toujours possible de savoir quelle quantité de mémoire sera utilisée par un programme. En effet, si vous prenez le cas d’un logiciel de dessin, ce dernier ne peut pas prévoir quelle sera la taille des images qu’il va devoir manipuler. Pour pallier ce problème, les programmes recourent au mécanisme de l’allocation dynamique de mémoire : ils demandent de la mémoire au système d’exploitation lors de leur exécution. Pour que cela fonctionne, le seul moyen est que le système d’exploitation fournisse au programme une référence vers la zone allouée. | ||
}}<!--************** Fin Fiche Didactique Explicitations ******************* --> | }}<!--************** Fin Fiche Didactique Explicitations ******************* --> | ||
− | |||
= {{Widget:Erreurs-confusions-Fiche}} = | = {{Widget:Erreurs-confusions-Fiche}} = |
Version du 14 mai 2020 à 08:54
Votre Publicité sur le Réseau |
Traduction
Traductions
Définition
Domaine, Discipline, Thématique
Justification
Définition écrite
- Un pointeur est une variable contenant l'adresse d'une autre variable d'un type donné. La notion de pointeur fait souvent peur car il s'agit d'une technique de programmation très puissante, permettant de définir des structures dynamiques, c'est-à-dire qui évoluent au cours du temps (par opposition aux tableaux par exemple qui sont des structures de données statiques, dont la taille est figée à la définition).
Ici, pointer signifie « faire référence à ». En pratique, un pointeur est une variable qui contient une valeur de type ‘adresse’ et pas la valeur d'un des types vus précédemment. C’est donc une variable dont le contenu est l'adresse mémoire d'une autre variable (objet), c'est-à dire la position en mémoire de cette autre variable (objet). Un pointeur permet donc de retrouver la valeur d'une variable (par son adresse) et d'y accéder. On dit aussi que le pointeur renvoie ou ‘pointe’ vers la variable concernée, cela via son contenu consistant en l’adresse de cette variable. La variable (objet) pointée peut être référencée via le pointeur.
Il faut signaler que l’on parle parfois de pointeur dont la valeur est constante (adresse constante). Par exemple, les noms des tableaux sont des pointeurs constants équivalents à l’adresse de la première composante du tableau concerné. |
Pointeurs en langage C - Historique (+)
Définition graphique
Concepts ou notions associés
Pointeurs en langage C - Glossaire / (+)
Exemples, applications, utilisations
Techniquement, il y a trois utilisations majeures des pointeurs en C :
Modèle:Manipulation de données complexe
Modèle:L’allocation dynamique de mémoire
|
Erreurs ou confusions éventuelles
- Confusion entre Contenu '*' - Adresse '&'
- Confusion entre Passage par valeur - Passage par Adresse
- Erreur fréquente: Ne pas faire l'allocation dynamique pour une variable de type pointeur avant son utilisation
Questions possibles
Liaisons enseignements et programmes
Idées ou Réflexions liées à son enseignement
Aides et astuces
Education: Autres liens, sites ou portails
- https://openclassrooms.com/fr/courses/19980-apprenez-a-programmer-en-c/15417-a-lassaut-des-pointeurs
- ..................
- ..................
Bibliographie
Pour citer cette page: (en langage C)
ABROUGUI, M & al, 2020. Pointeurs en langage C. In Didaquest [en ligne]. <http:www.didaquest.org/wiki/Pointeurs_en_langage_C>, consulté le 28, décembre, 2024
- ..................
- ..................
- ..................
- ..................
- Pages utilisant des arguments dupliqués dans les appels de modèle
- Sponsors Education
- Informatique (Concepts)
- Langage de programmation (Concepts)
- Algorithmique (Concepts)
- Adressage Direct
- Adressage Indirect
- Variable
- Tableau
- Chaîne de caractère
- Allocation dynamique
- Concepts
- Pointeurs en langage C
- Pointeurs en langage C (Concepts)
- Fiche conceptuelle didactique