? Donald Knuth , actuellement professeur émérite de "The Art of Computer Programming " à l'Université de Stanford , a déclaré en 1974 qu'il considérait variables de pointeur " pour être parmi les plus précieux trésors de l'informatique . " Pourtant , plus de trois décennies plus tard , les pointeurs sont toujours source de confusion pour de nombreux programmeurs débutants. De plus , les programmeurs utilisent souvent des pointeurs incorrectement , si le code ne fonctionne pas comme prévu et la question devient encore plus brouillé et confus. Un pointeur est pour les adresses pointeurs sont des variables qui contiennent l'adresse d'une autre variable , donc ils "point" à l'autre variable. Les programmeurs sont normalement à l'aise avec l'idée de variables - par exemple , une variable "x" contenant la valeur de 25. Un pointeur sur "x" vous indique si la valeur de 25 est actuellement stocké dans la mémoire. Impression du contenu d' une variable pointeur va afficher une adresse mémoire , traditionnellement imprimés en hexadécimal. Imprimer le contenu de "x" afficherait 25. L'adresse d'une variable n'est pas si différente de la notion d' une lettre à l'adresse postale indiquée sur l'enveloppe. L'adresse indique le transporteur de courrier où livrer l'enveloppe. Le contenu de l'enveloppe sont séparées de l' adresse. L'adresse d'une variable est l'endroit où la mémoire le contenu d'une variable sont stockés. Déclaration La déclaration d'un pointeur est spécifique au langage de programmation. Par exemple , l'énoncé « float y = 25,5 , * pointer_to_y = &y; " déclare et initialise une variable point de "y" flottante et une variable pointeur . Impression de la valeur de "y" donnerait 25,5 , tandis que l'impression de la valeur de " pointer_to_y " donnerait où «y » est stocké dans la mémoire. Utilisation de pointeurs < br > Une place importante pour les pointeurs est en entrée. Lorsque vous demandez à l'utilisateur d'entrer un nombre, vous avez besoin de stocker ce nombre quelque part . Pour dire à votre fonction d'entrée où stocker la valeur , vous devez donner l'adresse d'une variable, qui serait "& number_of_students » dans C. Si vous spécifiez simplement " number_of_students , " vous parlez de la valeur actuelle stockée dans la variable , comme le contenu de l'enveloppe mentionné avant , plutôt que de l'endroit où stocker l'entrée de l' utilisateur . fonctions Il est inefficace de transmettre de grandes quantités de données à des fonctions . Pointeurs vous permettent de passer là où les données sont stockées que votre fonction a besoin. Votre fonction peut accéder aux données nécessaires sans la surcharge de transmettre les données à la routine. Complexes Structures de données problèmes de programmation avancée exigent des solutions avancées de programmation et types de données . Les programmeurs peuvent pas facilement résoudre tous les problèmes avec de simples entier , virgule flottante et des types de données de caractères. Les programmeurs utilisent souvent des listes liées à des programmes , en particulier lors du tri des ensembles complexes de données. Une liste chaînée est simplement une collection de données, telles que le nom d'un employé , ID et la vitesse , stocké dans une structure de données payer. En plus des données de l'employé , chaque structure de données contenant un pointeur vers la structure de données suivante de la liste . Réorganisation des dossiers des employés est une question de réorganiser les pointeurs , plutôt que d'avoir à déplacer de grandes quantités de données autour de simplement réorganiser une liste.
|