Your Browser is not longer supported
Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...
{{viewport.spaceProperty.prod}}
malloc - Speicherbereich zuweisen
&pagelevel(4)&pagelevel
Definition | #include <stdlib.h> void *malloc(size_t size); |
Beschreibung | malloc() beschafft zur Ausführungszeit zusammenhängenden Speicherplatz in der Größe von size Byte. Wenn size = 0 den Wert 0 hat, gibt malloc() einen Nullzeiger zurück.
malloc() ist Teil des C-spezifischen Speicherverwaltungspaketes, das angeforderte und wieder freigegebene Speicherbereiche intern verwaltet. Neue Anforderungen werden zuerst aus bereits verwalteten Bereichen zu erfüllen versucht, dann erst vom Betriebssystem.
|
Returnwert | Zeiger auf den neuen Speicherbereich |
|
| wenn size nicht den Wert 0 hatte und malloc() neuen Speicherplatz zuweisen konnte. Dieser Zeiger kann für beliebige Datentypen verwendet werden. |
| Nullzeiger | wenn malloc() den Speicherplatz nicht beschaffen konnte, z.B. weil der noch vorhandene Speicherplatz nicht ausreicht oder ein Fehler auftrat. errno wird gesetzt, um den Fehler anzuzeigen. |
Fehler | malloc() schlägt fehl, wenn gilt:
|
| ENOMEM
| Es ist nicht genügend Speicherplatz verfügbar. |
Hinweise | Die tatsächliche Länge des Datenbereichs ist die angeforderte Länge size + 8 Byte für interne Verwaltungsdaten. Diese Summe wird ggf. auf die nächste Zweierpotenz aufgerundet. Um sicherzugehen, dass Sie ausreichend Platz für eine Variable anfordern, sollten Sie den Operator sizeof verwenden. Wird die Länge des zur Verfügung gestellten Speicherbereiches beim Schreiben überschritten, führt dies zu schwer wiegenden Fehlern im Arbeitsspeicher. malloc() ist ab dieser Version unterbrechungssicher, d.h. die Funktion kann nun auch in Signalbehandlungs- und Contingency-Routinen verwendet werden.
|
Siehe auch | calloc() , free() , realloc() , stdlib.h .
|