C-ohjelman main()-funktiolle voidaan välittää parametreja ohjelman
käynnistämisen yhteydessä. Jos esimerkiksi ohjelma on käännetty tiedostoksi ohj.exe,
se voidaan käynnistää seuraavasti:
C:\>ohj par1 par2
missä par1 ja par2 ovat main()-funktiolle välitettävät parametrit.
Parametrit otetaan ohjelmassa vastaan käyttämällä seuraavaa määrittelyä:
void main (int argc, char *argv[])
![]() | Parametrien lukumäärä välittyy main()-funktiolle ensimmäisenä parametrina
argc. |
![]() | Seuraavina parametreina välittyy osoitteita merkkijonoparametreihin. Nämä osoitteet kootaan osoitetaulukkoon argv, joka on yksiuloitteinen taulukko ja sisältää osoittimia merkkijonoihin. Taulukon ensimmäinen alkio sisältää osoittimen merkkijonoon, joka on ohjelman nimi, toinen alkio osoittimen ensimmäiseen merkkijonoparametriin, kolmas alkio osoittimen toiseen merkkijonoparametriin jne. argc:n arvo on aina vähintään 1, koska ohjelman nimi lasketaan ensimmäiseksi parametriksi. argv[argc] sisältää NULL-arvon eli nollapointterin. |
![]() | Esimerkki 1 |
![]() | Parametrit muistissa |
![]() | Numeeriset parametrit |
![]() | Esimerkki 2 |