Wezmy pod lupe:
https://pl.wikibooks.org/wiki/C/Wska%C5%BAniki#Obs.C5.82uga_pami.C4.99ci
W przykladowym kodzie korzystamy z zapisku:
(float*) malloc(rozmiar * sizeof(*tablica))
Oto co sugeruje wikipedia:
Teraz rozważmy sytuację, gdy zdecydujemy się zwiększyć dokładność obliczeń i zamiast typu float użyć typu double. Będziemy musieli wyszukać wszystkie wywołania funkcji malloc, calloc i realloc odnoszące się do naszej tablicy i zmieniać wszędzie sizeof(float) na sizeof(double). Aby temu zapobiec lepiej od razu użyć sizeof(tablica), wówczas zmiana typu zmiennej tablica na double zostanie od razu uwzględniona przy alokacji pamięci.
Ale przed malloc mamy zapis:
(float*) malloc
więc i tak nie uchronimy się od tych zmian
Jaki jest zatem tego sens?