Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 1

Funkcje malloc() i calloc() są używane w języku programowania C do alokowania

pamięci dynamicznej. Oto opis ich parametrów i działania:

Funkcja malloc():
Parametry:
size_t size: Określa rozmiar pamięci (w bajtach), który ma zostać zaalokowany.
Działanie:
malloc() alokuje blok pamięci o rozmiarze określonym przez parametr size.
Zwraca wskaźnik do początku zaalokowanego bloku pamięci.
Jeśli alokacja pamięci się nie powiedzie, zwraca wartość NULL.
Przykład użycia:
c
Copy code
int *ptr;
ptr = (int *)malloc(5 * sizeof(int)); // Alokacja pamięci na 5 elementów typu int
if (ptr == NULL) {
// Obsługa błędu alokacji pamięci
} else {
// Kontynuacja działania programu
}
Funkcja calloc():
Parametry:
size_t num: Określa liczbę elementów, które mają być zaalokowane.
size_t size: Określa rozmiar każdego elementu (w bajtach).
Działanie:
calloc() alokuje blok pamięci, który jest wystarczająco duży, aby pomieścić num
elementów każdego z rozmiarem size.
W odróżnieniu od malloc(), alokowany blok jest zerowany, co oznacza, że wszystkie
jego bity są ustawione na zero.
Zwraca wskaźnik do początku zaalokowanego bloku pamięci.
Jeśli alokacja pamięci się nie powiedzie, zwraca wartość NULL.
Przykład użycia:
c
Copy code
int *ptr;
ptr = (int *)calloc(5, sizeof(int)); // Alokacja pamięci na 5 elementów typu int,
wszystkie zerowane
if (ptr == NULL) {
// Obsługa błędu alokacji pamięci
} else {
// Kontynuacja działania programu
}
W przypadku obu funkcji, zaalokowana pamięć pozostaje zarezerwowana aż do momentu,
gdy zostanie zwolniona za pomocą funkcji free(). Należy zawsze pamiętać o
zwalnianiu zaalokowanej pamięci, aby uniknąć wycieków pamięci.

You might also like