A voir également:
- [c++]Besoins d'aide sur un pointer de pointer
- Mettre des points sur une carte - Guide
- Point de suite word - Guide
- Point de restauration - Guide
- Comment inserer une video dans un power point - Guide
- Faire un point gps - Guide
2 réponses
Oui, on peut utiliser un pointeur de pointeur, mais le plus simple:
int* allouer (int taille) { return (new int[taille]); } int main() { int* tableau = allouer (25); ... delete tableau; return 0; }Toutefois il serait plus sain et plus simple d'écrire:
int main() { int* tableau = new int[25]; ... delete tableau; return 0; }
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
14 janv. 2009 à 23:28
14 janv. 2009 à 23:28
Salut,
Oui, il faut passer par un double pointeur si tu veux l'allouer dans une fonction de type void.
Ce qui donne :
Cdlt
Oui, il faut passer par un double pointeur si tu veux l'allouer dans une fonction de type void.
Ce qui donne :
void allouer(const int taille, int **pointeur) { *pointeur = new int[taille]; } int main(void) { int* tableau = NULL; allouer(25,&tableau); delete tableau; return 0; }
Cdlt
14 janv. 2009 à 03:19
void allouer(int taille, int *pointeur)
{
*pointeur = new int[taille];
}
deviens
void allouer(int **pointeur) // pour un pointer simple
{
*pointeur = new int; // donc pas de tableau
}
enfin la tu creer un tableau dont cela ne marchera pas, il te faudras une etoile en plus
void allouer(int taille, int ***pointeur)
{
*pointeur = new int[taille];
}
14 janv. 2009 à 03:41
14 janv. 2009 à 22:59
14 janv. 2009 à 23:45