| Very well written article, clearly explaining what is usually a rather complex topic for new programmers to understand, bookmarked for future use. The other resource I use for similar situations is http://c-faq.com/decl/spiral.anderson.html
[EDIT]: someone beat me to it FWIW: The explanation by Dave G in the comments isn't quite right (I couldn't reply there, comments appear closed): > void something(); // prototype of function that takes undetermined number of arguments > void something(void); // prototype of function that takes no arguments > void something() { return; } // function that takes no arguments isn't quite right as `void something(){ return; }` is still a function that takes an undetermined number of arguments, it just cannot access them; calling `something(1,2,3)` is still valid. > void unknown(){ return ;} > int main(void){ something(1,2,3);} is valid. |