Prijava
Korisničko ime:

Lozinka:

remember me

Zaboravili lozinku?

Registrirajte se!
Glavni menu
Potraga
Tko je online
8 korisnika je online (3 korisnika cita Diskusije)

članovi: 0
Gosti: 8

više...
HULK-Diskusije - Programiranje - main()
Chat WIKI Kontakt
HULK Forum Index
   Programiranje
  main()

Pregledavanje ovog Threada:   1 Anonimnih Korisnika

 

 Dno   Prethodna tema   Sljedeca tema
  •  Ocjena Threada
      Ocijenite ovaj Thread
      Izvrsno
      Dobro
      Prosjecno
      Loše
      Užasno
Pošiljatelj Thread
  •  HCmaniac
      HCmaniac
main()
#1
Upravo došao
Pridružen: 06.05.2008
Od
Poruke: 9
Level : 1
HP : 0 / 21
MP : 3 / 1014
EXP : 86
Grupa:
Registered Users
Offline
Ovako, posto sam totalni pocetnik u cpp-u zanima me kada ide int main(), kada void main() i ostale mogucnosti. Gledao sam po netu al svuda pise isto, a ja nista od toga ne kuzim, dal mi moze neko objasniti
_________________
If I am guilty I will pay
Postano : 04.08.2008 9:15:16
Izradi PDF od ove poruke Ispis
Vrh
Re: main()
#2
Linux Master
Pridružen: 02.01.2005
Od Zagreb/Korčula
Poruke: 223
Level : 13
HP : 0 / 323
MP : 74 / 18277
EXP : 94
Grupa:
Registered Users
UrednikNovosti
Offline
int main() ide kada zelis da ti program vraca cijeli broj
ugl.. to ti je ako se program pravilno izvrsi do kraja u pravilu mora vratiti 0, a ako dodje do neke pogreske mora vratiti 1...

void main() stavljas kad ne zelis da ti glavni program ne vraca nista... to ugl, ako ne pises neki veliki program u kojem bi mozebit trebale biti greske..
Postano : 04.08.2008 16:28:31
Izradi PDF od ove poruke Ispis
Vrh
Re: main()
#3
Linux Master
Pridružen: 04.01.2005
Od 33 stupnja i 4 minute sjeverno, i zatim 5 koraka na zapad
Poruke: 2391
Level : 39
HP : 0 / 964
MP : 797 / 54416
EXP : 56
Grupa:
Webmasters
Registered Users
HULK
UrednikNovosti
UrednikRecenzija
UrednikLinkova
ModeratoriForuma
UrednikSekcija
UrednikBlogova
UrednikDogadjanja
UrednikDokumenata
UrednikKomentara
Offline
Ovo nema veze s tim da li je program pisan u C-u ili C++-u ili nekom trećem jeziku, jer je ista stvar neovisno o jeziku.

Svaki pravilan unix program pri završetku rada treba vratiti neku vrijednost okolini koja ga je pokrenula. Stoga, unix programe pišemo sa "int main()". Po dogovorenom standardu, prijašnji unix programi vraćali su 0 ako je sve ok, a od 1 do 127 ako je neka greška (vraćena greška ukazivala je koji je problem, s tim da su neke greške standardizirane), a današnji vraćaju 0 ako je sve ok, a od 1 do 255 ako je neka greška. S tim da kao i u starijoj varijanti, kod greške nešto znači, ako nikome drugome, onda autoru programa.

"void main()" ako se baš radi o nekom jednostavnom programu oko kojega se ne želiš previše zamarati. Samo pazi da te to ne zavara, jer u nekim unix okolinama očekuje se vraćen nekakav rezultat, pa sustav može odjednom izgenerirati nešto svoje. Sa raznoraznim nedefiniranim posljedicama.

AFAIK i drugi non-unix OS-ovi (npr windows) očekuju "int main()" a ne "void main()".

Stoga, "int main()", a tekstove gdje ti preporučaju "void main()" čitaj s dozom opreza i skepticizma, jer je tu nešto možda malo trulo...
_________________
Poći ću s vama jer volim šalu, hoću da vidim ježa budalu.

Put u Japan
Postano : 04.08.2008 17:31:26
Izradi PDF od ove poruke Ispis
Vrh
  •  Cracker
      Cracker
Re: main()
#4
Linux Master
Pridružen: 22.02.2008
Od ma eto odma iza ćoška :)
Poruke: 161
Level : 11
HP : 0 / 268
MP : 53 / 12705
EXP : 74
Grupa:
Registered Users
Offline
slobodan ti je dao izuzetno precizno i dobro objasnjenje, ali kao pocetnik ca c/c++ to ti nece nista pretjerano znaciti u zivotu ako napises
void main(){} ili int main{... return 0;} (premda je main po defaultu tipa integer). Postoji bitna razlika izmedju programiranja pod win i linuxom, tako da moras rascistiti gdje radis. Premda, opet naglasavam, ako ces se baviti osnovama programiranja, onda ti to nece biti bitno!
_________________
Who the fuck is General Failure? And why is he reading my harddisk?
Postano : 06.08.2008 18:07:08
Izradi PDF od ove poruke Ispis
Vrh
Re: main()
#5
Linux Master
Pridružen: 04.01.2005
Od 33 stupnja i 4 minute sjeverno, i zatim 5 koraka na zapad
Poruke: 2391
Level : 39
HP : 0 / 964
MP : 797 / 54416
EXP : 56
Grupa:
Webmasters
Registered Users
HULK
UrednikNovosti
UrednikRecenzija
UrednikLinkova
ModeratoriForuma
UrednikSekcija
UrednikBlogova
UrednikDogadjanja
UrednikDokumenata
UrednikKomentara
Offline
Inače, ja sam pomenuo win i linux u usporedbi a ne HCmanijak, ali kad smo se već malo više dotakli te teme, da, dosta stvari je različito, ali što se konkretno "main()" tiče o čemu trenutno i pričamo, i pod win je poželjno da je to "int main()" i da po završetku vraća nešto sustavu, tako da u tom aspektu nema razlike.
_________________
Poći ću s vama jer volim šalu, hoću da vidim ježa budalu.

Put u Japan
Postano : 07.08.2008 8:07:49
Izradi PDF od ove poruke Ispis
Vrh
  •  HCmaniac
      HCmaniac
Re: main()
#6
Upravo došao
Pridružen: 06.05.2008
Od
Poruke: 9
Level : 1
HP : 0 / 21
MP : 3 / 1014
EXP : 86
Grupa:
Registered Users
Offline
Puno hvala
_________________
If I am guilty I will pay
Postano : 08.08.2008 6:55:18
Izradi PDF od ove poruke Ispis
Vrh
  •  jazzfan
      jazzfan
Re: main()
#7
Upravo došao
Pridružen: 06.01.2009
Od
Poruke: 11
Level : 2
HP : 0 / 28
MP : 3 / 1263
EXP : 12
Grupa:
Registered Users
Offline
inace, potpuno pravilno bi bilo:
int main (void) {
   (....)
   return 0;
}


int je obavezan jer vracas kod greske (0 = nema je)
a ovaj void unutar zagrada je potreban zato jer kada se poziva program, argumenti se prosljedjuju preko parametra main funkcije.... to izgleda ovako:
int main (int argc, char **argv) {
   // argc je broj argumenta prosljedjenih programu
   // arvg je niz stringova sa njihovim vrijednostima

   // ovaj program ispisuje sve argumente
    for (int i = 0; i < argc; i++) {
         printf ("Argument broj %d je %s\n", i, argv[i]);
    }
    return 0;
}


I, sada kada bi pokrenuli program ovako:
ime_programa.exe prvi drugi 123 555


dobili bi ispis:
Argument broj 0 je ime_programa.exe
Argument broj 1 je prvi
Argument broj 2 je drugi
Agrument broj 3 je 123
Afrument broj 4 je 555
Postano : 08.01.2009 19:36:28
Izradi PDF od ove poruke Ispis
Vrh
 Vrh   Prethodna tema   Sljedeca tema

 


 Ne možete pokrenuti novu temu.
 Možete citati teme.
 Ne možete odgovarati na poruke.
 Ne možete uredivati svoje poruke.
 Ne možete brisati svoje poruke.
 Ne možete dodavati nove ankete.
 Ne možete glasati u anketama.
 Ne možete dodavati fileove porukama.
 Ne možete slati poruke bez odobrenja.
Copyright © 1995-2009 HULK web team. Sva prava pridržana. RSS. Engine: XOOPS