SYNOPSIS
        mixed * allocate(int size)
        mixed * allocate(int size, mixed init_value)

        mixed * allocate(*int sizes)
        mixed * allocate(*int sizes, mixed init_value)

BESCHREIBUNG
        Allokiert ein Array von <size> Elementen. Die Anzahl Elemente muss
        groesser sein als 0, darf aber das Systemmaximum (normalerweise 1000)
        nicht uebersteigen. Wird <init_value> angegeben, wird allen Elementen
        dieser als Anfangswert zugewiesen. Wenn <init_value> ein Mapping oder
        ein Array ist, wird fuer jedes Element eine einfache Kopie erstellt.
        Wird <init_value> nicht angegeben, sind alle Elemente 0.

        In der zweiten Form (mit einem Feld von <sizes> anstelle nur einer
        <size>) erzeugt allocate() ein mehrdimensionales Array, ein Array aus
        Arrays.

        Heute wird allocate() kaum mehr benoetigt, weil Arrays mit dem
        +-Operator addiert und mit dem ({})-Operator initialisiert werden
        koennen. Der einzige Nutzen der Funktion ist, grosse leere
        oder initialisierte Arrays zu erzeugen.

BEISPIELE
        string *buffer;
        buffer = allocate(50);
        buffer = allocate(50, "");

        buffer = allocate( ({ 2, 3 }) )
          --> ({ ({ 0, 0, 0 }), ({ 0, 0, 0 }) })

GESCHICHTE
        LDMud 3.2.9 fuehrte den Anfangswert <init_value> und die
            Initialisierung von mehrdimensionalen Arrays ein.

SIEHE AUCH
        sizeof(E)
