Dans les diplômes en technologie, il y a des concepts et des sujets qui effraient généralement les étudiants, certains des principaux exemples sont des sujets liés à la programmation orientée objet et au calcul, un autre exemple sont des notions abstraites plus basiques des fonctions telles que les pointeurs, principalement en C, sujet de cet article.
Contrairement à nous, les ordinateurs ne connaissent pas certaines informations par une « étiquette » ou un « nom », mais plutôt par l’adresse où se trouvent ces données en mémoire. Nous pouvons considérer la mémoire comme un ensemble de « cellules » contenant un certain nombre de bits stockant 0 ou 1 et chaque cellule est associée à une certaine adresse où elle stocke certaines informations afin que les programmes exécutés par la machine puissent accéder à ces données et les manipuler. il. .
Sachant que pour qu'un programme puisse utiliser des données, il a besoin de connaître son adresse en mémoire, on peut concevoir la notion de pointeur. Le pointeur est une variable qui « pointe » vers d'autres données, c'est comme s'il s'agissait d'un espace en mémoire destiné à stocker l'adresse d'une autre variable ou une information afin de pouvoir la manipuler.
Mais maintenant la question se pose : à quoi sert un pointeur ? Le pointeur permet certaines opérations plus complexes impliquant de la mémoire, comme l'allocation dynamique avec Malloc ou la création de structures de données plus complexes, etc. De plus, il y a certains détails qui ne sont pas si faciles à remarquer au début, comme le fait que le nom d’un vecteur est un pointeur. C'est vrai, un vecteur n'est rien de plus qu'un « pointeur fixe » qui pointe vers une certaine position en mémoire et que nous utilisons l'index pour manipuler selon les besoins.
Une autre utilisation consiste à manipuler des données par référence, par exemple : transmettre un tableau en tant que paramètre à une autre fonction, permettant ainsi de modifier le tableau d'origine au lieu que la valeur transmise ou l'objet ne soit qu'une copie, ce qui, par exemple, se produit en Javascript où il n'y a pas de concept de pointeur (du moins pas explicitement), par exemple :
#includeint vet [5] ={10,20,3,4}; void somadez(int * ref){ for(int i=0;i Une autre utilisation pas si évidente des pointeurs, cette fois pour les langages orientés objet, où l'on peut, par exemple, créer des objets dynamiques et faciliter le travail avec l'héritage et le polymorphisme.
Nous avons cet exemple ci-dessous avec C :#includeusing namespace std; class Animal{ public: virtual void som(); }; class Cachorro : public Animal{ public: void som(){ cout som(); //neste caso podemos usar o ponteiro para acessar métodos e atributos de uma classe derivada. return 0; }
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3