C/malloc: Różnice pomiędzy wersjami

Usunięta treść Dodana treść
→‎Wartość zwracana: opis co sie dzieje, gdy size == 0
→‎Uwagi: notka co się dzieje, gdy size==0
Linia 47:
Zastosowanie operatora sizeof z wyrażeniem (np. <tt>sizeof *tablica</tt>), a nie typem (np. <tt>sizeof float</tt>) ułatwia późniejszą modyfikację programów. Gdyby w pewnym momencie programista zdecydował się zmienić tablicę z tablicy floatów na tablice double'i musiałby wyszukiwać wszystkie wywołania funkcji malloc, [[C/realloc|realloc]] i [[C/calloc|calloc]], co nie jest konieczne przy użyciu operatora sizeof z wyrażeniem.
 
Warto zauważyć, że w przypadku standardowych konfiguracji systemu GNU/Linux funkcje przydzielające pamięć nigdy nie zawodzą i nie zwracają wartości NULL (dla wartości parametru <tt>size</tt> większego od zera).
 
Ponieważ dla parametru <tt>size</tt> równego zero funkcja może zwrócić albo wskaźnik różny od wartości NULL albo jej równy zwykłe sprawdzanie poprawności wywołania poprzez przyrównanie zwróconej wartości do zera może nie dać prawidłowego wyniku.
 
=== Zobacz też ===