Looking for c Keywords? Try Ask4Keywords

C LanguageSpeicherverwaltung


Einführung

Für die Verwaltung von dynamisch zugewiesenem Speicher stellt die Standard-C-Bibliothek die Funktionen malloc() , calloc() , realloc() und free() calloc() . In C99 und später gibt es auch aligned_alloc() . Einige Systeme bieten auch alloca() .

Syntax

  • void * align_alloc (size_t-Ausrichtung, size_t-Größe); / * Erst seit C11 * /
  • void * calloc (size_t nelements, size_t size);
  • void free (void * ptr);
  • void * malloc (size_t size);
  • void * realloc (void * ptr, size_t size);
  • void * alloca (size_t size); / * von alloca.h, nicht standardmäßig, nicht portabel, gefährlich. * /

Parameter

Name Beschreibung
Größe ( malloc , realloc und aligned_alloc ) Gesamtgröße des Speichers in Byte. Für aligned_alloc muss die Größe ein ganzzahliges Vielfaches der Ausrichtung sein.
Größe ( calloc ) Größe jedes Elements
nelements Anzahl der Elemente
ptr Zeiger auf den zugewiesenen Speicher, der zuvor von malloc , calloc , realloc oder aligned_alloc
Ausrichtung Ausrichtung des zugewiesenen Speichers

Bemerkungen

C11

Beachten Sie, dass aligned_alloc() nur für C11 oder höher definiert ist.

Systeme wie die auf POSIX basierenden Systeme bieten andere Möglichkeiten zum posix_memalign() von ausgerichtetem Speicher (z. B. posix_memalign() ) sowie andere Speicherverwaltungsoptionen (z. B. mmap() ).

Speicherverwaltung Verwandte Beispiele