[ uLtracode @ 19.10.2001. 17:45 ] @
interesuje me sta znaci i kakva je ralika sad izmedju

int main()
main()
int main (void)


zar ne moze obicno main() sve da zameni jer pocetnik sam u C i citam 2 knjige paralelno u jednoj se odma pojavili dodatci a u drugoj sve se koristi vecinom main()
[ Ivan Tanasic @ 19.10.2001. 18:11 ] @
Citat:
uL7r4C0d3 je napisao:
interesuje me sta znaci i kakva je ralika sad izmedju

int main()
main()
int main (void)


zar ne moze obicno main() sve da zameni jer pocetnik sam u C i citam 2 knjige paralelno u jednoj se odma pojavili dodatci a u drugoj sve se koristi vecinom main()


za pocetak je nebitno da li koristis void main(), main(), ili int main().. kasnije kad budes koristio i exit(), mece ti biti sve jedno, a kasnije ces valjda svatiti razliku i videti sta ti treba.
smatram da je int main () zadovoljavajuce
[ Milan Aksic @ 19.10.2001. 20:34 ] @
int main()
vraca integer operativnom sistemu.

main()
opet vraca integer operativnom sistemu, jer po defaultu ako se izostavi povratni tip, onda je povratni tip int tj. integer celobrojna.

void main(void)
ne vraca nista operativnom sistemu, odnosno vraca void. U zagradi void znaci da nema nijedan parametar (argc, argv...) s'tim da ako izostavis void u zagradi nakon imena funkcije vec su samo dve prazne zagrade () onda je to isto kao da si stavio (void).

Ali opet kao sto rece autoexes to ti sada na pocetku nije toliko bitno.
[ Dejan Lozanovic @ 20.10.2001. 11:42 ] @
Citat:
uL7r4C0d3 je napisao:
interesuje me sta znaci i kakva je ralika sad izmedju

int main()
main()
int main (void)


zar ne moze obicno main() sve da zameni jer pocetnik sam u C i citam 2 knjige paralelno u jednoj se odma pojavili dodatci a u drugoj sve se koristi vecinom main()

Pa izmedju ove tri sto si naveo, nema nikakve razlike, jer ako ne navedes tip podatka koji se vraca podrazumeva se da je int, a void je prazan tip podatka a samim tim () je prazno ali iz nekog lepog pisanja stave void.

E sada ako main moze da vrati ili int ili void, a mozes da imas i ovakvu konstrukciju,

int main(inr agrc, char **argv){
...
}

gde su ti argc broj argumenata iz komande linije, a *argv[] sami stringovi koje si pozvao iz komande linije
[ Mikky @ 20.10.2001. 22:17 ] @
koristi int main() jer je to po ansi standardu
[ random @ 21.10.2001. 17:21 ] @
A šta, ova dva nisu po ansi standardu? Cccc...

Ajd baš da vidimo, npr. ovako:

Code:

[email protected]:~/ansi$ cat > 1.c
int main() { return 0; }
[email protected]:~/ansi$ gcc -ansi -Wall 1.c
[email protected]:~/ansi$ cat > 2.c
main() { return 0; }
[email protected]:~/ansi$ gcc -ansi -Wall 2.c
2.c:1: warning: return-type defaults to `int'
[email protected]:~/ansi$ cat > 3.c
int main(void) { return 0; }
[email protected]:~/ansi$ gcc -ansi -Wall 3.c
[email protected]:~/ansi$


Zaključak: sve je to po ANSI-ju ok, mada je kulturno da main funkcija ima povratnu vrednost (operativni sistem to očekuje), pa zato treba staviti int ispred main. Što se ovog (void) tiče, jedina razlika između int main() i int main(void) je što se ovo potonje nešto duže kuca ;o).
[ partlov @ 21.10.2001. 19:37 ] @
int i void su ugradjeni tipovi a main je finkcija koja moze da vraca ova dva tipa tako da tu nema nista da li je ili nije po ANSI-ju sve je stvar stila.Da li ce main da prima parametre ili ne to zavisi od zelje korisnika na koji nacin zeli da izvrsava program.
[ uLtracode @ 22.10.2001. 13:44 ] @
objasnio mi je ivan dimkovic preko ICQ ostalo sto nisam razume (izlazni podatci koji se menjaju ako je int main ili samo main)