Show Menu
Cheatography

Dynamische Speicherverwaltung Cheat Sheet by

Speicher reserv­ieren

Reserv­ieren ohne clearen (Null setzen)
void *mallo­c(int Groesse);
Beispiel
double *t = malloc(2 * sizeof­(do­uble));
double *v = malloc(2 * sizeof­(*v));
Reserv­ieren mit clearen (reser­vierte Bereiche mit 0 initia­lis­ieren)
void *callo­c(int Anzahl­_El­emente, int Groess­e_e­ine­s_E­lem­ents);
Beispiel
double *u = calloc(2, sizeof­(do­uble));
double *w = calloc(2, sizeof­(*w);

Reserv­ierten Speicher vergrößern / verkle­inern

Speicher reallo­zieren
void reallo­c(void AlterS­pei­che­rbe­reich, int NeueGr­oesse);
Beispiel
int pArray = malloc(5  sizeof­(int)); 
pArray = reallo­c(p­Array, 1000 * sizeof­(int))
Ist der neue Speich­erb­ereich größer, werden die bisherigen Daten in den neuen Speich­erb­ereich kopiert.

Ist der neue Speich­erb­ereich kleiner, werden die Daten nur bis zur Größe des neuen Bereichs kopiert.
Wird als neue Größe eine 0 angegeben, funkti­oniert die Funktion wie free();
Wird als alter Speich­erb­ereich der NULL-Z­eiger angegeben, funkti­oniert die Funktion wie malloc();

Reserv­ierten Speicher freigeben

Funktion
free(S­PEI­CHER);
Beispiel
void *z = malloc­(1000); //1000­Bytes Speicher reserv­ieren 
if(z != NULL)
{
  free(z);
}
Die free Funktion darf nur Speich­erb­ereiche freigeben, die zuvor mit malloc oder calloc reserviert wurden.
free(NULL); bewirkt nichts und verursacht keinen Fehler;
 

Comments

No comments yet. Add yours below!

Add a Comment

Your Comment

Please enter your name.

    Please enter your email address

      Please enter your Comment.

          Related Cheat Sheets

          C Reference Cheat Sheet
          C program Cheat Sheet

          More Cheat Sheets by TimSch

          C - printf/scanf Cheat Sheet
          C- Grundlagen zu Variablen Cheat Sheet