Dynamická alokace

Organizace paměti

Statická vs dynamická alokace

Funkce pro dynamickou alokaci paměti

Uvolňování alokované paměti

Změna velikosti alokované paměti

Rychlé nastavování paměti - memset()

int array[100];
memset(array, 0, 100 * sizeof(int));

Memory leaks

Dynamická alokace vícedimeznionálních polí

void allocate2DArray() {
    const int LEN = 100;
    int **array2D = malloc(LEN * sizeof(int*));
    for (int i = 0; i < LEN; i++) {
        array2D[i] = malloc((i+1) * 10 * sizeof(int));
    }

    // ...
    for (int i = 0; i < LEN; i++) {
        free(array2D[i]); array2D[i] = NULL;
    }
    free(array2D); array2D = NULL;
}

Dynamická alokace - zřetězený seznam

Dynamická alokace - poznámky

Valgrind