Comment faire pour ajouter ou supprimer des Pointer Arrays

July 11

Les ++ langages de programmation C et C sont deux des quelques-uns qui dépendent encore fortement de l'accès mémoire indirect. Ceci est le concept selon lequel une variable de mémoire peut contenir l'emplacement d'une autre variable de la mémoire - et cette variable est connue comme un pointeur. Bien que cela semble confus, il est un outil puissant utilisé pour mettre en œuvre des tableaux, listes chaînées, arbres et autres structures de données. Voici une brève introduction aux pointeurs et les tableaux.

Instructions

1 Créer un nouveau programme C ++. Utilisation de Visual Studio 2010 modèle d'application de la console Windows, le code commence comme ceci:

inclure "stdafx.h"

int _tmain (int argc, _TCHAR * argv [])

{

Entrez le code restant dans le programme tel qu'il apparaît à travers le récit ci-dessous.

2 Créer et imprimer un nouveau pointeur de chaîne de caractères comme suit.

char *c = "Hello";

printf ( "% s \ n", c);

L'astérisque (*) avant que la variable c indique que ceci est une variable de pointeur. c variable contient l'emplacement de mémoire où la chaîne de texte «Bonjour» a été stocké par le compilateur. La fonction printf utilise le pointeur c pour localiser cette chaîne et l'afficher à la console.

3 Ajouter un nouveau tableau d'entiers dans la mémoire.

int * n = new int [5];

Un nouveau pointeur n est déclaré pour pointer vers un tableau d'entiers. La nouvelle fonction crée un nouveau tableau de cinq entiers et l'emplacement de ce tableau est stocké dans le pointeur p.

4 Chargez le tableau avec les numéros 1 à 5 en utilisant un second pointeur pour déplacer à travers le réseau.

int * p = n;

int I;

for (i = 1; i <6; i ++)

{* P = i;

p ++;

}

Le pointeur p est déclaré et réglé à la même valeur que n, le début du tableau. Que la boucle se répète cinq fois l'emplacement de mémoire pointé par p reçoit la valeur du compteur, le pointeur est incrémenté, le passage à l'élément suivant de la matrice. A noter que le relevé p ++ incrémente le pointeur p de la taille de l'entier, se déplaçant à chaque cellule de la matrice.

5 Afficher les valeurs dans le tableau à la console en utilisant un index dans le tableau.

for (i = 0; i <5; i ++)

{Printf ( "% d \ n", n [i]);

}

Encore une fois, le programme boucle cinq fois, chaque fois en utilisant la fonction printf pour envoyer le contenu des emplacements de mémoire pointé par n [i] à la console. Cette fois, le programme utilise la notation de l'indice ainsi que le pointeur se déplacer à travers le réseau. En C ++, les tableaux sont de base zéro, de sorte que le compteur passe de 0 à 4.

6 Fin du programme.

supprimer n;

return 0;

}

Retirez le tableau à partir de la mémoire en utilisant la fonction de suppression. En C ++, toute la mémoire allouée par le nouveau doit être supprimé pour éviter les fuites de mémoire. Enfin, retourner 0 pour indiquer que le programme a terminé avec succès.

Conseils et avertissements

  • Le sujet de pointeurs peut prendre du temps pour comprendre.

          

Post a comment: