Aha, takže pokud to správně chápu, int zabírá 4B, čili pokud napíši malloc(sizeof(int)*5), vyhradím si paměť pro 5 čísel typu int.
Mám za úkol kde uživatel bude zadávat rozměry matice a podle toho se bude alokovat/uvolňovat paměť. Matici máme doplnit náhodnými čísly a uložit do jednorozměrného pole.
Načtu tedy od uživatele rozměr matice, třeba 4x3. Potřebuji tedy 12 prvků pole pro uložení všech čísel. Celé to bude v nekonečném cyklu, pro jednoduchost to tady udělejme bez něj. Bude to vypadat nějak takto?
printf("Zadejte prvni rozmer matice:\n");
scanf("%d",&prvni);
printf("\nZadejte druhy rozmer matice:\n");
scanf("%d",&druhy);
rozmer = prvni*druhy;
int * ptr = malloc(sizeof(int)*rozmer);
for(c=1; c<=rozmer;c++){
matice[c] = c;
}
int free(*ptr);
Pokud zadám 4 a 3 tak obsah pole[] bude "1,2,3,4,5,6,7,8,9,11,12"). Pokud bych chtěl čísla generovat náhodně, jak to udělat? Existuje nějaká funkce random?