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

Usunięta treść Dodana treść
m →‎Ezoteryka C: <tt>int funkcja'''(void)'''</tt>
Linia 644:
C ma wiele niuansów, o których wielu programistów nie wie lub łatwo o nich zapomina:
* jeśli nie podamy typu wartości zwracanej w funkcji, zostanie przyjęty typ int (według najnowszego standardu C99 nie podanie typu wartości jest zwracane jako błąd);
* jeśli nie podamy żadnych parametrów funkcji,: <tt>int funkcja'''()'''</tt> to funkcja będzie używała zmiennej liczby parametrów (inaczej niż w C++, gdzie przyjęte zostanie, że funkcja nie przyjmuje argumentów). Aby wymusić pustą listę argumentów, należy napisać <tt>int funkcja'''(void)'''</tt> (dotyczy to jedynie prototypów czy deklaracji funkcji);
* jeśli nie użyjemy w funkcji instrukcji <tt>return</tt>, wartość zwracana będzie przypadkowa (dostaniemy śmieci z pamięci).
* W języku C nie jest możliwe przekazywanie typu jako argumentu.