next up previous
Next: Pointer-Arithmetik Up: Pointer Puzzles Previous: Dynamische Allokation

Call by Pointer Reference

void make2Arrays(int max,
                 int **array1,
                 double **array2)
{
    *array1=new int[max];
    *array2=new double[max];
    return;
}

main()
{
    int *arr1;
    double *arr2;

    make2Arrays(17, &arr1, &arr2);

    // ....

    delete arr1;
    delete arr2;
}

Das Programm ist korrekt!
Für jedes Array muß getrennt der Speicher freigegeben werden,
da der Speicherbereich nicht hintereineander liegen muß!


next up previous
Next: Pointer-Arithmetik Up: Pointer Puzzles Previous: Dynamische Allokation

© 1997 Gottfried Rudorfer, C++-AG, Lehrveranstaltungen, Abteilung für Angewandte Informatik, Wirtschaftsuniversität Wien, 3/19/1998