Malloc (jazyk C)
Verzia z 20:52, 12. máj 2020, ktorú vytvoril Lukas.p (diskusia | príspevky) (→Podrobný popis funkcie)
<ctype.h> | <limits.h> | <stdio.h> | <stdlib.h> | <math.h> | <string.h> | <time.h> |
---|---|---|---|---|---|---|
isalnum |
printf |
system |
Funkcia malloc
knižnica | stdlib.h |
popis | Pridelí (alokuje) požadovanú veľkosť pamäte. |
Úplný funkčný prototyp:
void *malloc(size_t size)
Podrobný popis funkcie
Funkcia pridelí (alokuje) požadovanú veľkosť pamäte a vráti smerník odkazujúci na túto časť pamäte.[1]
Parametre
- size
- Veľkosť vyžadovanej pamäte v bajtoch.
Návratová hodnota
Vráti smerník odkazujúci na pridelenú (alokovanú) časť pamäte. Ak sa nepodarilo prideliť (alokovať) pamäť, tak vráti NULL.
Príklad
1 #include <stdio.h>
2 #include <stdlib.h>
3 #include <string.h>
4
5 int main() {
6 char *str;
7
8 str = (char *)malloc(7); //pridelí pamäť s veľkosťou 7 bajtov smerníku str
9 strcpy(str, "kiwiki");
10 printf("Textovy retazec = %s, Adresa = %u\n", str, str);
11
12 str = (char *)realloc(str, 13); //zmení veľkosť pridelenej pamäte zo 7 bajtov na 13 bajtov
13 strcat(str, ".info");
14 printf("Textovy retazec = %s, Adresa = %u\n", str, str);
15
16 free(str); //zruší pridelenie pamäte
17
18 return(0);
19 }
Výstup:
Textovy retazec = kiwiki, Adresa = 14313456 Textovy retazec = kiwiki.info, Adresa = 14313912