PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Was falsch an "void main(void)"?


Binaermensch
2005-06-06, 01:26:13
Hallo!

Ich meine mich erinnern zu können, dass ich, als ich mich vor 2 Jahren mit C beschäftigt habe, ständig zu hören bekam, dass void main(void) das personifizierte Böse sei und einzig und allein int main(argc irgendwas) richtig wäre...

Auch wenn ich schon seit einenhalb Jahren nichts mehr mit C zu tun hatte, so würde es mich doch mal interessieren, was es damit eigentlich auf sich hatte.

Auch soll #include <stdio.h> sehr schlecht sein... Warum eigentlich?


Danke!
- Manuel

zeckensack
2005-06-06, 01:31:13
main muss ein ein int zurückgeben, damit der aufrufende Prozess (oder das System) weiß, ob's schiefgegangen ist (!=0) oder nicht (==0).

Gast
2005-06-06, 08:07:49
"moderne" Compiler compilieren "void main" auch schon gar nicht mehr.

Nomads
2005-06-06, 08:10:15
5.1.2.2.1 Program startup
1 The function called at program startup is named main. The implementation declares no prototype for this function. It shall be defined with a return type of int and with no parameters:
int main(void) { /* ... */ }
or with two parameters (referred to here as argc and argv, though any names may be used, as they are local to the function in which they are declared):
int main(int argc, char *argv[]) { /* ... */ }
or equivalent or in some other implementation-defined manner.

Quelle: ISO/IEC 9899:TC2