Gå til innhold

main(), void main(), int main()?


Anbefalte innlegg

Videoannonse
Annonse

I C++ og nyere standarder av C (tror jeg -- jeg er ingen C-utvikler, så rett meg hvis det er galt) er alt annet enn int main() (med evt. argumenter) galt.

 

Som alfern skriver, void returtype betyr at ingenting returneres, mens int betyr at funksjonen returnerer et heltall. I C betyr main() det samme som int main().

Lenke til kommentar

i "gamle dager" (Borland 4.5 og slikt) brukte man void main(). Da void main() var den eneste void-funksjon som faktisk returnerte en int :p

 

Iflg. standarden skal det være int main(). du må definere return-typen på en funksjon, så kun main() vil ikke fungere uansett.

Lenke til kommentar
lstor@mputt:~$ gcc -o voidmain voidmain.c -std=c99

voidmain.c: In function `main':

voidmain.c:1: warning: return type of `main' is not `int'

lstor@mputt:~$ g++ -o voidmain voidmain.c

voidmain.c:1: error: `main' must return `int'

 

I C99 ser det altså ut til å være gyldig, men ikke spesielt godt mottatt. I C++ er og blir det strengt forbudt.

Lenke til kommentar
Det skal brukes int main(int argc, char *argv[])

La meg ta et 'oppfølgingsspørsmål'.

 

Det er også mulig å bruke:

int main(int argc, char *argv[], char *env[])

 

Der env blir en liste med environment variabler. I hvertfall på unix/linux. Er dette en del av standarden også?

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...