Den Thu, 05 Oct 2006 21:09:50 +0200 skrev carsten:
> Hej NG
> jeg har programmeret en del i Pascal, men da jeg har skiftet OS
> har jeg også valgt at prøve kræfter med C
>
> og har fundet dette eksempel på
>
http://www.linuxbog.dk/c/c/filter-programmer.html
>
> men der meller sig straks et par spørgsmål!
>
> jeg er med på at main og de dertilhørende {}
> er hoved koden, men hvorfor skal der stå int forand ?
> int = integer !!
int main()
Fordi main() er en funktion, der returnerer en integer. Denne integer
returneres til OS'et, som ofte giver mulighed for at teste på værdien.
Fx, DOS:
MITPROGRAM
IF ERRORLEVEL 1 GOTO FEJL
Eller Unix:
if mitprogram
then
OS-uafhængigt skal main returnere enten 0 for OK eller 1 for fejl, men
begge ovennævnte OS'er tillader andre værdier, så man kan skelne imellem
forskellige fejl.
> og hvad er den dybere mening med int argc, char *argv[]
> i int main(int argc, char *argv[])
C:\> mitprogram hello world
Nu er
argc=3
argv[0]="mitprogram"
argv[1]="hello"
argv[2]="world"
argv[3]=NULL
Og lige en detalje - main() kan se ud på to måder:
int main()
int main(int argc, char ** argv)
Hvis man ikke skal bruge argc og argv, vil man typisk bruge den første.
Mvh
Kent
PS: Hvis du ser nogen skrive "void main()", så lad være med at høre
efter, uanset hvor meget de påstår at vide om C. De er tydeligvis ikke
engang nået til side et endnu.
--
"So there I was surrounded by all these scary creatures
They were even scarier than what Microsoft call features"
- C64Mafia: Forbidden Forest (Don't Go Walking Slow).