Malloc vs. Calloc

Autor: Laura McKinney
Data Utworzenia: 4 Kwiecień 2021
Data Aktualizacji: 15 Móc 2024
Anonim
Calloc vs malloc | GeeksforGeeks
Wideo: Calloc vs malloc | GeeksforGeeks

Zawartość

Kluczowa różnica między malloc i calloc polega na tym, że malloc przypisuje tylko jeden blok żądanej pamięci, podczas gdy calloc przypisuje wiele bloków żądanej pamięci.


Przydział pamięci jest bardzo ważną koncepcją w informatyce, w programowaniu komputerowym musisz stworzyć pamięć dla swojego kodu. Malloc i calloc potrzebują argumentów do działania. Malloc potrzebuje tylko jednego argumentu, podczas gdy calloc potrzebuje dwóch argumentów. Malloc i calloc są używane do programowania w języku C i służą do alokacji pamięci i alokacji. Dynamiczna alokacja pamięci jest najważniejszą koncepcją w programowaniu komputerowym. Musisz przypisać pamięć do komputera przed napisaniem programu, pamięć ta jest wykorzystywana do wykonania.

Malloc to funkcja służąca do przypisywania bloku pamięci w bajtach. Rozmiar bloku jest określany przez użytkownika, a określenie rozmiaru bloku pamięci jest bardzo ważne przed napisaniem kodu. Przydział pamięci jest określany przez pamięć RAM. Kiedy więc program żąda pamięci RAM w celu przydzielenia pamięci. Po złożeniu żądania, które zostało zaakceptowane, mówi się, że funkcja malloc zakończyła się powodzeniem i przydzielono pamięć. Jeśli funkcja malloc nie jest w stanie przypisać pamięci, zwracana jest wartość NULL. Działanie funkcji malloc jest bardzo podobne do funkcji calloc, ponieważ obie te funkcje przypisują przydział pamięci. Calloc przyjmuje dwa argumenty dla żądania pamięci. W calloc musimy przypisać rozmiar typu danych. Dwa arugemnty w calloc są oddzielone przecinkami.


Spis treści: Różnica między Malloc a Calloc

  • Wykres porównania
  • Malloc
  • Calloc
  • Kluczowe różnice
  • Wniosek
  • Film wyjaśniający

Wykres porównania

PodstawaMallocCalloc
Znaczeniemalloc przypisuje tylko jeden blok żądanej pamięci

calloc, aby przypisać wiele bloków żądanej pamięci.

 

Składnia

Składnia malloc to

void * malloc (rozmiar_t rozmiar);

Składnia calloc to

void * calloc (size_t num, size_t size);

PrędkośćMalloc jest szybszy niż callocCalloc działa wolniej niż Malloc
Inicjalizacja malloc () nie usuwa i nie inicjuje przydzielonej pamięci.Przydzieloną pamięć inicjuje się do zera za pomocą calloc ().

Malloc

Malloc to funkcja służąca do przypisywania bloku pamięci w bajtach. Rozmiar bloku jest określany przez użytkownika, a określenie rozmiaru bloku pamięci jest bardzo ważne przed napisaniem kodu. Przydział pamięci jest określany przez pamięć RAM. Kiedy więc program żąda pamięci RAM w celu przydzielenia pamięci. Po złożeniu żądania, które zostało zaakceptowane, mówi się, że funkcja malloc zakończyła się powodzeniem i przydzielono pamięć. Jeśli funkcja malloc nie jest w stanie przypisać pamięci, zwracana jest wartość NULL.


Calloc

Działanie funkcji malloc jest bardzo podobne do funkcji calloc, ponieważ obie te funkcje przypisują przydział pamięci. Calloc przyjmuje dwa argumenty dla żądania pamięci. W calloc musimy przypisać rozmiar typu danych. Dwa arugemnty w calloc są oddzielone przecinkami.

Kluczowe różnice

  1. Malloc przypisuje tylko jeden blok żądanej pamięci, podczas gdy calloc przypisuje wiele bloków żądanej pamięci.
  2. Składnia malloc jest następująca: void * malloc (size_t size); podczas gdy składnia calloc jest void * calloc (size_t num, size_t size);
  3. Malloc jest szybszy niż calloc, natomiast Calloc jest wolniejszy niż malloc.
  4. malloc () nie czyści i nie inicjuje przydzielonej pamięci, podczas gdy przydzielona pamięć jest inicjowana do zera za pomocą calloc ().

Wniosek

W powyższym artykule widzimy wyraźną różnicę między malloc i calloc a implementacją.

Film wyjaśniający