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ż ===
|