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 reall­oc(void Alter­Spe­ich­erb­ereich, int NeueGr­oes­se);
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(­SPE­ICH­ER);
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;

Help Us Go Positive!

We offset our carbon usage with Ecologi. Click the link below to help us!

We offset our carbon footprint via Ecologi
 

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

          More Cheat Sheets by TimSch

          PHPStorm Keymap Keyboard Shortcuts