0
votes

Allouer de manière dynamique un éventail de pointeurs

Comment la dernière ligne de code affecte-t-elle de manière dynamique une gamme de pointeurs?

int size;

    cin >> size;

    int** arr = new int* [size];


1 commentaires

Même chose que int * arr = neuf int [taille] attribue un tableau de int s. C'est juste que au lieu de int vous avez int * .


4 Réponses :


0
votes

c'est une double variable d'int. Comme je le vois de code IT Code. Il stocke l'adresse du pointeur INT * / P>


0 commentaires

3
votes
int **a = new int* [42];  // allocates memory for 42 int*

3 commentaires

Je vois ... Alors, "int ** a;" est le pointeur qui pointe vers un "Int Pointer", dans lequel ce pointeur (INT ** A) est utilisé pour allouer de manière dynamique la mémoire pour l'original "INT * A", qui est ce que la «nouvelle int * [taille] de la Le code fait? Suis-je comprendre cela correctement?


Oui, je pense que vous l'avez. Je suis heureux de clarifier si vous en avez besoin.


@AkidNamedcoder pas de problème. Considérons accepter la réponse si elle répond à votre question.



0
votes

pense à cela comme ceci:

allouer un tableau que vous utilisez un Tapez * _var = nouveau type [Taille]

Mais vous voulez que votre type soit pointé sur INT afin: int * * arr = nouveau (int *) [taille]


2 commentaires

TYPO: TYPE VS _TYPE


Fixé! Merci!



0
votes

Pour créer un tableau dynamique La syntaxe est: data_type * name_of_array = nouveau data_type [taille] Vous pouvez créer une taille comme une variable ou une valeur que vous le souhaitez.


1 commentaires

Oui, je comprends cela lorsque vous faites référence à un type de données fondamental, mais je vous demandais spécifiquement comment cela fonctionne pour un éventail de pointeurs.