calloc i zwalnianie pamięci
Kurs C · Wyjaśnienie, przykłady, oczekiwany wynik i ćwiczenie.
calloc przydziela pamięć i zeruje jej bajty.
Poznać zagadnienie „calloc i zwalnianie pamięci”, zrozumieć przykład i umieć zastosować podobny zapis we własnym programie.
Wyjaśnienie krok po kroku
Każdy udany przydział trzeba sparować z free(). Nie korzystaj ze wskaźnika po zwolnieniu pamięci.
Najpierw przeanalizuj kod bez uruchamiania. Zwróć uwagę, jakie dane wykorzystuje program, co z nimi robi i skąd bierze się wynik pokazany pod przykładem.
Praktyczny przykład
Gdzie zobaczysz efekt: Konsola programu C
Gdzie wkleić kod? To fragment ćwiczeniowy: instrukcje wykonawcze wstaw do main(), a deklaracje klas lub funkcji umieść w odpowiednim miejscu pliku. Uzupełnij wymagane importy i nagłówki.
int *numbers = calloc(3, sizeof *numbers);
if (numbers != NULL) {
printf("%d\n", numbers[0]);
free(numbers);
}
Przeczytaj kod linijka po linijce
int *numbers = calloc(3, sizeof *numbers);Tworzymy lub aktualizujemy zmienną, pole albo przypisanie.if (numbers != NULL) {Sprawdzamy warunek lub wybieramy jedną z możliwości.printf("%d\n", numbers[0]);Wyświetlamy wartość, aby sprawdzić efekt działania programu.
0
Jak utrwalić tę umiejętność?
Przepisz kod samodzielnie. Następnie zmień jedną wartość lub jedną instrukcję i spróbuj przewidzieć efekt. Dopiero potem uruchom zmienioną wersję. Jeśli wynik jest inny niż oczekiwany, porównaj kolejne linie.
Spróbuj samodzielnie
Zapisz wartości do przydzielonej tablicy i zwolnij pamięć.
Jeśli rozumiesz przykład, oznacz lekcję jako ukończoną i przejdź dalej.