Kurs programowania w C cz. 171

Nasza ocena:

3
Wyświetleń: 567
Komentarze: 0
Notatek.pl

Pobierz ten dokument za darmo

Podgląd dokumentu
Kurs programowania w C cz. 171 - strona 1

Fragment notatki:

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)

Zaloguj się, aby dodać komentarz