Qu'est-ce qu'un pointeur ?
Fait partie de la section Logic & Flow du Journey C de Coddy — leçon 1 sur 63.
Considérez la mémoire de votre ordinateur comme un immense immeuble d'appartements comptant des milliers de pièces. Chaque pièce possède une adresse unique, et chaque pièce peut stocker une donnée. Lorsque vous créez une variable en C, elle est affectée à l'une de ces pièces.
Un pointeur est un type spécial de variable qui ne stocke pas de données ordinaires comme des nombres ou des caractères. Au lieu de cela, il stocke l'adresse de l'emplacement mémoire d'une autre variable. Considérez cela comme le fait de noter le numéro d'appartement de quelqu'un sur un morceau de papier - le papier ne contient pas la personne, mais il vous indique exactement où la trouver.
int age = 25; // Ceci crée une variable 'age' en mémoire
int *ptr; // Ceci crée un pointeur qui peut stocker une adresseDans cet exemple, age est stockée à une certaine adresse mémoire (disons la chambre 1004), et ptr est une variable pointeur qui pourrait stocker l'adresse 1004 pour « pointer vers » la variable age.
Les pointeurs sont l'une des fonctionnalités les plus puissantes du langage C car ils vous permettent de travailler directement avec des adresses mémoire, rendant vos programmes plus efficaces et permettant des techniques avancées telles que l'allocation dynamique de mémoire et les structures de données complexes.
Aide-mémoire
Un pointeur est une variable qui stocke l'adresse mémoire d'une autre variable, plutôt que de stocker directement des données.
Pour déclarer un pointeur, utilisez l'opérateur * :
int age = 25; // Variable classique
int *ptr; // Variable pointeur qui peut stocker une adresseLes pointeurs permettent une manipulation directe de la mémoire et activent des techniques de programmation avancées comme l'allocation dynamique de mémoire et les structures de données complexes.
Essayez vous-même
Cette leçon ne comprend pas de défi de code.
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Logic & Flow
1Les bases des pointeurs
Qu'est-ce qu'un pointeur ?Déclaration de pointeursL'opérateur d'adresse (&)L'opérateur de déréférencement (*)Pointeurs NULLRécapitulatif : Les bases des pointeurs4Projet : Utilitaire de texte simple
Présentation du projetCompter les caractères2Pointeurs et Tableaux
Noms de tableaux comme pointeursÉléments de tableau - PointeursArithmétique des pointeursComparaison de pointeursRécapitulatif : Parcours de tableau par pointeur5Pointeurs et fonctions
Passage par valeurPassage de pointeurs aux fonctionsModifier des variables via des pointeursUn exemple classique : SwapPassage de tableaux aux fonctionsRécapitulatif : Pointeurs comme arguments de fonction3Tableaux de caractères et chaînes
Les chaînes comme tableaux de charLe terminateur nulSaisie de chaînes avec scanfUtilisation de strlen()Utilisation de strcpy()Utilisation de strcat()Utilisation de strcmp()Récapitulatif : Fonctions de base sur les chaînes