>> [TÓNLIST spila]
>> DOUG LLOYD: Allt í lagi, þannig að við skulum tala um stjórn-lína rök.
Svo, svo langt í námskeiðinu nokkuð mikið öll forrit
hefur sennilega byrjaði eins this-- int main tóm.
Við höfum verið að safna notandi inntak ef við þurfum það
í áætlunum okkar, svo sem að Mario program, til dæmis,
með í-áætluninni hvetja.
Við höfum ekki þörf á að breyta yfirlýsingu um helstu,
því í stað inni helstu vér bara segja, þú getur kallað það að fá int.
Hversu stór þú vilt að pýramída til að vera?
Eða þú getur kallað það að fá float-- hversu mikið breyting
ætti ég framleiðsla til notanda?
>> Það er önnur leið þó, og ef við viljum notendur okkar
til að vera fær um að veita gögn til prógramminu
á afturkreistingur í stað á meðan forritið er í gangi,
lúmskur greinarmun en stundum mjög gagnlegt einn,
við þurfum nýja mynd af lýsa helstu.
Við getum ekki notað int helstu tómarúm ef við viljum safna öðrum gögnum í stjórn-lína
þegar notandi keyrir forritið, þess vegna stjórn-lína rök.
>> Að safna þessum stjórn-lína rök frá notanda,
breyta yfirlýsingu þína á helsta að líta út eins og this-- int
Helstu, opið paren, int argc, komma, band argv, hornklofum,
og þá opna hrokkið Brace.
Svo hvað þýðir það þegar?
Jæja, við erum sem liggur í tveimur breytum, eða rök, eða inntak til main.
Einn, heil tala sem kallast argc, og hitt er það?
Það er fylki af strengjum, ekki satt?
Við sjáum það ferningur krappi tákn.
Það er fylki af strengjum.
Það er ekki einstaklingur band, það er fylki af strengjum.
Og þessir tveir rök, argc og argv, gerir þér kleift að vita hvaða gögn sem notandinn
hefur veitt í stjórn-lína og hve mjög þeir
veitt á stjórn-lína.
Pretty gagnlegar hlutir til að vinna með.
>> Argc stendur fyrir rifrildi telja, og þú ættir að vita, við the vegur,
að þú gætir hringt argc hvað sem þú vilt hafa það.
Þú getur hringt argv hvað þú vildir.
Þetta eru bara hefðbundnar nöfn sem við notum til them-- rök telja,
og eins og við munum sjá í annað, rök vektor, argv.
En þú þarft ekki að hringja í þá argc og argv ef þú vilt ekki að,
en venjulega, það er það sem við gerum.
>> Svo engu að síður, argc, rök telja.
Það er heiltala tegund breytu og svo, eins og þú might búast við, ef við höfum tvennt
sem við erum að fara að vera að finna hvað þau eru slegin
og hversu mikið efni er notandinn slegið, argc er
að fara að segja okkur hversu mikið efni notandinn slegið.
Svo það gefur þér fjölda stjórn-lína rök notanda
slegið þegar forritið var framkvæmd.
Svo ef forritið þitt er hlaupa punktur rista gráðugur,
og inni gráðugur þitt forrita helstu virka
hefur yfirlýsing int main int argc, string argv hornklofa, þá
argc í því tilfelli er einn.
Nú taka við gerum ekki telja hversu margt
notandinn slegið eftir program nafn.
The program Nafnið sjálft telur sem stjórn-lína rök.
>> Svo punktur rista gráðugur, í að ræða, argc er einn.
Ef notandinn slegið skástrik gráðugur 1024 CS50 á stjórn-lína, argc í því tilfelli
væri þrjú.
Og við vitum þetta vegna þess hvernig að skipting á milli strengi
greinist er hvort það er pláss eða flipi,
eða eitthvað svoleiðis á milli þeirra.
Svo allir magn af hvítu plássi, svokallaða, milli gildanna slegið stjórn-lína
gefur til kynna hversu margir eru.
Svo punktur rista gráðugur pláss 1024 pláss CS50, argc, í því tilfelli, er þrír.
>> Argv er rök vektor.
Vektor, við the vegur, er bara annað orð fyrir fylki,
og þetta er fylki sem geymir strengi.
Einn strengur á frumefni, sem er strengir sem notandinn í raun
slegið á stjórn-lína þegar forritið var framkvæmd.
Nú, eins og raunin er með hvaða fylking, ef þú
muna frá umræðu okkar fylki, fyrsti þáttur af argv
er alltaf að fara að finna á argv ferningur krappi núll.
Það er fyrsta vísitölu af argv fylkisins.
Svo að will-- og í raun, að vilji alltaf að vera nafn af the program,
verður alltaf að vera staðsett á argv hornklofi núll.
>> Síðasti þáttur argv er alltaf fundið á argv hornklofa argc mínus einn.
Ert þú sjá hvers vegna?
Mundu hversu margir þættir eru í þessu fylki.
Jæja, við vitum that-- það er argc fjöldi staka.
Ef notandinn slegið þrennt á stjórn-lína, argc er þrír.
En vegna þess að í c, þegar við erum að vinna með fylki, hver þáttur í array,
eða öllu heldur vísitala array, byrja á núlli.
Ef við höfum þrjá þætti í okkar array, höfum við stak á argv núll,
þáttur í argv einum, og þáttur í argv tvö.
Það er engin þáttur í argv þrír, og fylki af stærð þrjú.
Svo er það hvers vegna síðasta þáttur argv getur alltaf
að finna á argv torginu sviga argc mínus einn.
>> Svo skulum gera ráð notandi framkvæmir gráðugur program sem follows--
ef þeir slá í stjórn-lína punktur rista gráðugur pláss 1024 rúm CS50,
og hver sem ástæðan að við höfum þegar undirbúið gráðugur program okkar
að vita og vinna með þeim stjórn-lína rök.
Við gerðum ekki áður þegar við unnum á það fyrir gráðugur vandamál,
en við skulum segja að við höfum nú breytt það svo að við gerum ferli
stjórn-lína rök á einhvern hátt.
Í þessu tilviki, argv núll er punktur rista gráðugur.
Hvað er argv einn?
Jæja, það er 1024, ekki satt?
Það er 1024, en hér er mjög mikilvægt distinction--
manstu gögn tegund af argv?
>> Það geymir strengi, ekki satt?
En það lítur út eins og 1024 er heiltala gildi.
Þetta er mjög mikilvægt greinarmunur og er í raun
fara að verða eitthvað sem þér gætir fundur í síðari vandamál.
Allt í argv er geymt sem streng.
Svo innihald argv manns eru band einn, núll, tveimur, fjórum,
samanstendur af þeim fjórum stöfum.
Það er eins og ef notandinn slegið einn, núll, tveimur, fjórum
sem einstakar stafi.
Það er ekki heiltala 1024, og svo þú getur ekki beint
vinna með það með því að segja int 1.000, eða frekar int x er jafnt argv einn mínus 24.
>> Innsæi, þú might hugsa um að eins, OK, vel það er 1024 mínus 24,
svo er x jafnt 1.000.
En í raun, það er ekki málið, vegna argv einn er band.
The band 1024.
Nú er það fall sem getur verið er notað til að umbreyta strengi til heiltölur.
Ég mun ekki spilla því fyrir þig nú, en ég er viss um að Zamyla
mun vera fús til að segja þér um það í walkthrough fyrir framtíð vandamál.
En þú getur líka fundið Vandamál like-- afsökun
mér, aðgerðir sem myndi gera þetta í tilvísun 50,
ef þú ferð til uppflettihandbókarinnar þú getur fundið fall sem
mun gera þetta viðskipti fyrir þig.
En aftur, í walkthrough fyrir framtíð vandamál,
Zamyla mun vera fús til að segja þér hvað virka
það er sem mun umbreyta band 1024 til tölunnar 1024.
>> Allt í lagi, svo að flytja á.
Við höfum fjallað argv núll okkar, við höfum fjallað argv einn.
Hvað er í argv tveimur?
CS50.
Það eitt er líklega nokkuð sjálf-skýringar.
Hvað er í argv þremur?
Jæja aftur, við í raun ekki vita, ekki satt?
Við höfum fjölbreytta stærð þremur, það er hversu margir þættir sem notandinn
slegið á stjórn-lína, þannig að ef við förum að argv þrjú,
við erum nú overstepping mörk array okkar.
Þýðanda vilja láta okkur gera þetta, það er engin leiðandi vandamál með það,
en hvað varðar raun hvað er að gerast að gerast, við í raun ekki vita.
Það fer eftir því hvað er staðsett á minni þar
argv þrír væri ráð fyrir að vera.
Og svo við gætum endað komast í burtu Scot ókeypis.
Líklegra en ekki, sérstaklega þegar þú ert að vinna með argv öfugt
að öðrum array sem er í prógramminu,
við erum líklega að fara að líða a skiptingu kenna. Svo aftur,
Vertu viss um að yfirstíga mörk af fylki þínum, sérstaklega argv,
gefið mikla þess Mikilvægi í áætlunum þínum.
>> Ég er Doug Lloyd.
Þetta er CS50.