MALLOC 193 Zobacz też • tolower, toupper malloc Deklaracja #include void *calloc(size_t nmeb, size_t size); void *malloc(size_t size); void free(void *ptr); void *realloc(void *ptr, size_t size); Argumenty nmeb liczba elementów, dla których ma być przydzielona pamięć size rozmiar (w bajtach) pamięci do zarezerwowania bądź rozmiar pojedynczego elementu ptr wskaźnik zwrócony przez poprzednie wywołanie jednej z funkcji lub NULL Opis Funkcja calloc przydziela pamięć dla nmeb elementów o rozmiarze size każdy i zeruje przydzieloną pamięć. Funkcja malloc przydziela pamięć o wielkości size bajtów. Funkcja free zwalnia blok pamięci wskazywany przez ptr wcześniej przydzielony przez jedną z funkcji malloc, calloc lub realloc. Jeżeli ptr ma wartość NULL funkcja nie robi nic. Funkcja realloc zmienia rozmiar przydzielonego wcześniej bloku pamięci wskazywanego przez ptr do size bajtów. Pierwsze n bajtów bloku nie ulegnie zmianie gdzie n jest minimum z rozmiaru starego bloku i size. Jeżeli ptr jest równy zero (tj. NULL), funkcja zachowuje się tak samo jako malloc. Wartość zwracana Jeżeli przydzielanie pamięci się powiodło, funkcje calloc, malloc i realloc zwracają wskaź- nik do nowo przydzielonego bloku pamięci. W przypadku funkcji realloc może to być wartość inna niż ptr. Jeśli jako size, nmeb podano zero, zwracany jest albo wskaźnik NULL albo prawidłowy wskaźnik, który można podać do funkcji free (zauważmy, że NULL jest też prawidÅowym argumentem free). JeÅli dziaÅanie funkcji nie powiedzie siÄ, zwracany jest NULL i odpowiedni kod bÅÄdu jest wpisywany do zmiennej errno. Dzieje siÄ tak zazwyczaj, gdy nie ma wystarczajÄ
co dużo miejsca w pamiÄci. PrzykÅad #include #include int main(void) { size_t size, num = 0; float *tab, tmp;
... zobacz całą notatkę
Komentarze użytkowników (0)