Comment implémenter des pointeurs en C ++?



Cet article vous présentera le concept de pointeurs en C ++, puis le suivra avec une démonstration pratique de support.

Pointeurs en C ++ est une variable qui contient l'adresse d'une autre variable en c ++. L'adresse est stockée dans la variable pointeur et aide à l'implémentation de l'appel par référence.

Les pointeurs suivants seront traités dans cet article,





En commençant par cet article sur les pointeurs sur C ++

Syntaxe:



datatype * pointername EXEMPLE: int * ptr
  • Une variable de pointeur a un signe * avant son nom.
  • Un pointeur est également appelé localisateur ou indicateur.

Utilisations du pointeur:

  • Allocation de mémoire dynamique
  • Dans divers programmes de tableaux, de structures et de fonctions

Voici un exemple de code:

#include en utilisant l'espace de noms std int main () {int num = 17 int * ptr ptr = & num cout<< 'Value at ptr = ' << ptr << 'n' cout << 'Value at var = ' << num << 'n' cout << 'Value at *ptr = ' << *ptr << 'n' } 

Production:
Sortie - Pointeurs en C ++ - Edureka



Explication:

Dans le programme ci-dessus, nous montrons le fonctionnement de base d'un pointeur. Nous avons une variable entière num avec la valeur 17. Nous avons la variable pointeur ptr de type int. Nous attribuons l'adresse de num au pointeur ptr.

Nous imprimons d'abord la valeur de ptr, c'est-à-dire l'adresse. Ensuite, nous imprimons la valeur num et à la fin, nous imprimons la valeur à l'emplacement tenu par le pointeur ptr.

Passer à cet article sur les pointeurs sur C ++

Pointeurs et tableaux:

Nous pouvons considérer le premier élément d'un tableau comme un pointeur, car le nom du tableau contient l'adresse du premier élément. Nous pouvons utiliser un pointeur de la manière suivante.

Voici un exemple de code:

comment utiliser trim en java
#include en utilisant l'espace de nom std int main () {int arr [3] = {5, 10, 20} int * ptr ptr = arr cout<< 'Elements of the array are: ' cout << ptr[0] << ' ' << ptr[1] << ' ' << ptr[2] } 
 Production: 

Explication:

Dans le programme ci-dessus, nous montrons le fonctionnement de base d'un pointeur avec un tableau. Nous avons un tableau arr avec des valeurs 5,10,20. Nous avons la variable de pointeur ptr de type int. Nous attribuons l'adresse de arr au pointeur ptr.

Nous imprimons d'abord la valeur de ptr [0], c'est-à-dire le premier élément du tableau. Ensuite, nous imprimons respectivement les deuxième et troisième éléments. Comme les éléments du tableau sont stockés consécutivement, le pointeur peut accéder à l'autre emplacement du tableau par incrémentation.

comment ajouter en java

Passer à cet article sur les pointeurs sur C ++

Pointeurs nuls:

Il existe des types de pointeurs qui n'ont pas de valeur et détiennent une valeur nulle

Exemple :

int * ptr = NULL

Ils sont très utiles dans les structures de données comme une liste chaînée.

Passer à cet article sur les pointeurs sur C ++

Pointeurs du vide:

Ce sont les types de pointeurs qui n'ont pas de type de retour.

Passer à cet article sur les pointeurs sur C ++

Opération arithmétique du pointeur:

Différentes opérations peuvent être effectuées sur les pointeurs. Voici quelques types importants.

  • incrémenté (++)
  • décrémenté (-)
  • différence entre deux pointeurs (p1-p2)
  • ajout d'un entier à un pointeur (+ ou + =)
  • soustraction d'un entier à un pointeur (- ou - =)

Voici un code pour démontrer certaines de ces opérations:

#include en utilisant l'espace de noms std int main () {int arr [3] = {10, 100, 200} int * ptr ptr = arr pour (int i = 0 i<3 i++) { cout << 'Value at different locations of array using *ptr = ' << *ptr << 'n' ptr++ } } 

Production:

Explication:

Nous démontrons une opération arithmétique simple d'incrémentation de la variable de pointeur est montrée dans le programme ci-dessus.

Passer à cet article sur les pointeurs sur C ++

Pointeur à pointeur:

Dans ce type de système, il y a deux pointeurs. Le premier pointeur pointe vers le deuxième pointeur et le deuxième pointeur pointe vers la variable qui contient la valeur.

python def __init__

Voici un exemple de code:

#include en utilisant l'espace de noms std int main () {int num int * ptr int ** pptr num = 3000 ptr = & num pptr = & ptr cout<< 'Value of num :' << num<< endl cout << 'Value available at *ptr :' << *ptr << endl cout << 'Value available at **pptr :' << **pptr << endl return 0 } 

Production:

Passer à cet article sur les pointeurs sur C ++

Pointeur vers les fonctions:

C'est une façon de passer des pointeurs vers des fonctions. Le paramètre de fonction doit être déclaré comme un type de pointeur. Il est montré dans le code ci-dessous,

#include using namespace std float getAverage (int * arr, int size) int main () {int balance [5] = {1432, 232, 3232, 17, 502} float avg avg = getAverage (balance, 5) cout<< 'Average value is: ' << avg << endl return 0 } float getAverage(int *arr, int size) { int i, sum = 0 double avg for (i = 0 i < size ++i) { sum += arr[i] } avg = double(sum) / size return avg } 


Production

C'est ainsi que nous passons un pointeur vers une fonction.

Nous sommes donc arrivés à la fin de cet article sur les «pointeurs en C ++». Si vous souhaitez en savoir plus, consultez le par Edureka, une entreprise d'apprentissage en ligne de confiance. est conçu pour vous former aux concepts Java de base et avancés, ainsi qu'à divers frameworks Java tels que Hibernate et Spring.

Vous avez une question pour nous? Veuillez le mentionner dans la section commentaires de ce blog et nous vous répondrons dans les plus brefs délais.