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];
4 Réponses :
c'est une double variable d'int. Comme je le vois de code IT Code. Il stocke l'adresse du pointeur INT * / P>
int **a = new int* [42]; // allocates memory for 42 int*
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.
pense à cela comme ceci: p>
allouer un tableau que vous utilisez un Tapez * _var = nouveau type [Taille] p>
Mais vous voulez que votre type soit pointé sur INT afin: int * * arr = nouveau (int *) [taille] p>
TYPO: TYPE VS _TYPE
Fixé! Merci!
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. P>
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.
Même chose que
int * arr = neuf int [taille] code> attribue un tableau de
int code> s. C'est juste que au lieu de
int code> vous avez
int * code>.