[Musika jotzen] DOUG LLOYD: Ondo da, beraz dezagun komando-lerroko argumentuak buruz hitz egiteko. Beraz, orain ikastaroaren urrun nahiko Askoz zure programak Seguru hasi Halako int hutsune nagusia bezala. Izan biltzeko dugu erabiltzailearen sarrera behar badugu gure programak, esaterako, baita ere Mario programa, esaterako, in-programa eskatuz arabera. Aldatu ditugu beharrezkoak ez nagusia aitorpena, zeren ordez dugu nagusien barruan besterik esateko, int eskuratu ahal izango duzu nola deitu. Nola handiak egin piramidearen izan nahi duzu? Edo daiteke bertara iristeko deitzen duzunean karroza zenbat aldaketa nadin irteera erabiltzaileak nahi? Ez dago beste modu bat da, nahiz eta, eta gure erabiltzaileek nahi badugu eman ahal izateko gure programara datuak ordez bitartean exekuzio programa martxan da, sotil bereizketa bat baizik batzuetan oso baliagarria izan dadin, nagusia geratuko modu berri bat behar dugu. Ezin dugu erabili int hutsune nagusia nahi badugu bestelako datuak biltzeko Komando-lerroan Erabiltzaileak programa exekutatzen denean, horregatik, komando lerroko argumentuak. Komando-lerro horiek biltzeko erabiltzaileari argudioak, Zure deklarazio aldatu nagusira int honen antzeko itxura , paren nagusia, int argc, koma, katea argv, kortxeteen artean, eta, ondoren, ireki kizkur. Beraz, zer esan nahi du dagoeneko? Beno, bi parametro pasatzen ari gara, edo argumentuak, edo sarrera nagusira. One, izeneko zenbaki oso bat argc, eta bestea da zer? Kateak array bat da, ezta? Kortxetea notazioa ikusi dugu. Kateak array bat da. Ez da banakako kate bat, Kateak array bat da. Eta bi argudio horiek, argc eta argv, zer erabiltzaileak datuak ezagutu gaitzen ditu Komando-lerroan emandako zenbat eta gauza asko dute Komando-lerroan emandako. Gauzak nahiko erabilgarria izan lan egiteko. Argc argumentu Aldaketa dago, eta jakin behar duzu, eta bide batez, Hori argc deitu ahal izango duzu nahi duzuna. Argv duzuna nahi dei dezakezu. Hauek besterik ez konbentzionalak izenak Horietako argumentu Aldaketa erabiltzen dugula, eta bigarren bat ere ikusi dugu, argudio vector, argv. Baina, ez duzu deitzeko argc eta argv, ez baduzu nahi, baina conventionally, hori da egiten duguna. Beraz, hala ere, argc, argumentu Aldaketa. Zenbaki oso-aldagai mota bat da, eta beraz, gisa Espero dezakezun, bi gauza egin behar badugu ari garela, ezin aurkituz joan zer hauek idazten diren egindako eta zenbat gauza Erabiltzaile idatzitako, argc da diguzu zenbat joan erabiltzaileak idatzitako gauzak. Beraz, zuk kopuru bat ematen dio komando-lerroko argumentuak erabiltzaile mekanografiatuak, programa exekutatu zuten. Beraz, zure programa bada exekutatu dot barra diruzaleak eta zure Greedy barrutik zure eginkizun nagusia programatu deklarazio int int argc nagusia dauka, kate argv parentesi karratu, orduan argc kasu horretan ez da. Orain konturatu ez egiten dugu Gauzak zenbat zenbatu Erabiltzaile idatzitako programa izenaren ondoren. Programaren izena bera zenbatzen komando-lerroko argumentu gisa. Beraz dot barra Greedy, in Kasu horretan, argc bat da. Erabiltzaile idatzitako barra Greedy 1024 CS50 bada Komando-lerroan, kasu horretan argc at Hiru izango litzateke. Eta badakigu hau modu delako kateak arteko banaketa detektatu den ala ez Ingurune, edo fitxa bat da, edo haien artean horrelako zerbait. Beraz, espazio zuria zenbatekoa, deiturikoak, balioen arteko mekanografiatuak komando-lerro adierazten du zenbat daude. Beraz dot barra espazioa greedy 1024 espazioa CS50, argc, kasu horretan, hiru da. Argv argumentu bektorea da. Vector, bide batez, besterik ez da array bat beste hitz bat, eta hau array bat da kateak gordetzen. Kate bat elementu bakoitzeko, hau da, kateak, erabiltzaileak benetan Komando-lerroan idatzitako denean programa gauzatu zuten. Orain, kasua da Edozein array batera, izanez gero Gure inguruko eztabaida batetik gogoratzen arrayak, argv lehenengo elementua aurki daitezke, hau da, beti joan argv kortxetea zero. Hori lehenengo indizea da argv array. Beraz, hori Borondate eta hain zuzen ere, borondate horren Beti programan izena izango, izango dira beti dago argv kortxetea zero. Argv azken elementua beti aurkitzen da argv karratu parentesi argc ken batean. Ikusten duzu, zergatik? Gogoratu elementu zenbat array hau existitzen. Beno, badakigu -bere da argc elementu kopurua. Erabiltzaile idatzitako hiru gauza bada at Komando-lerroan, argc hiru da. Baina c delako ere, lanean ari gara hilarak, array elementu bakoitza, edo, hobeto esanda, indizeak Array, zero etan hasiko da. Hiru elementu izaten badugu gure array elementu bat dugu argv zero, argv batean elementu bat, eta argv bi elementu bat. Ez dago argv elementu ez da hiru, eta tamaina hiru sorta batekin. Beraz, horregatik azkenekoak argv elementu can beti argv plazan izan da aurkitu Parentesi argc ken bat. Hargatik bere gain erabiltzaileak exekutatzen Greedy programaren follows-- gisa idazten dute komando-lerroko dot batean bazaude barra Greedy espazioa 1024 espazioa CS50, eta edozein arrazoigatik dugu Dagoeneko gure greedy programa prestatu ezagutu eta hauekin lan egiteko komando-lerroko argumentuak. Guk ez dugu aldez aurretik lan egin dugu Gainean Greedy arazoa, baina esan dezagun orain dugun aldaketa: Horrela, prozesu egiten dugu nolabait komando-lerroko argumentuak. Kasu honetan, argv zero da dot barra greedy. Zer da inor argv? Beno, 1024, ezta? 1024 da, baina hemen bat distinction-- benetan garrantzitsua Zer datuak argv mota gogoratzen duzu? Kateak gordetzen da, ezta? Baina itxura 1024 bezala zenbaki oso bat da. Hau da, benetan garrantzitsua bereizketa, eta benetan zerbait bihurtu joan duzula Beranduago arazoak ere topo. Argv dena da Kate gisa gordetzen. Beraz, argv norberaren edukiak dira kate bat, zero, bi, lau, Lau karaktere horiek osatua. Da, erabiltzaileak idatzitako balitz bezala bat, zero, bi, lau letrak banakako edo karaktere gisa. Ez da osokoa 1024, eta, beraz, ezin duzu zuzenean berarekin lan int 1.000 esanez, edo baizik int x argv bat ken 24 berdin. Intuitiboki, hori pentsatzea eta, OK, ondo da 1.024 ken 24, beraz, x 1.000 berdina da. Baina, hain zuzen ere, hori ez da kasua, Bat argv kate bat delako. Katea 1024. Orain ez dagoela ahal izango funtzioa da kateak bihurtzeko integers dizkie. Ez hondatu egingo dut zuretzat orain, baina ziur naiz Zamyla zoriontsu kontatzeko ere izango da etorkizunean arazo bat gidatua. Baina, gainera, aurkitu ahal izango duzu arazo antzekoak aitzakia Niri, funtzio hori litzateke Horretarako, erreferentziazko 50ean, bazoaz erreferentziazko gida funtzio bat aurkitu ahal izango duzu, bihurtze hau egin ahal izango duzu. Baina, berriro ere, Bisita gidatua etorkizunean arazo bat, Zamyla zoriontsu izango esango zer funtzio kontua da bihurtuko du katea 1024 osokoa 1024 da. Ondo da, beraz, mugitzen. Gure argv zero estali ditugu, Bat argv dugu estaltzen. Zer da argv bitan? CS50. Bat hori da, ziurrenik nahiko auto-azalpen. Zer da argv hiru urtean? Beno, berriro ere, ez benetan jakin dugu, ezta? Tamaina hiru multzo bat dugu, hori da elementu zenbat erabiltzaileak Komando-lerroan idatzitako, beraz, hiru argv joan badugu, dugu orain overstepping ari gure array mugetatik. Konpilatzailea Ahalegin horretan utziko, Intuitiboa arazoa ez da batera, baina benetan dagokionez zer joan gertatuko, ez dugu, ez dakit. Araberakoa zer da on It memorian non kokatuta dago argv hiru espero litzateke izango. Eta beraz, azkenean ezin dugu eman kanpoan Scot free lortzean. Ez baino gehiago litekeena da, batez ere, zuk ez bezala argv batera lanean ari Beste edozein array hori gure programa da, seguruenik ari gara jasaten segmentazio matxura bat. Beraz, berriro ere, egon mugetatik ziur ez gainditu behar Zure parkeak, bereziki argv, Bere maila handian eman Zure programetan garrantzia. Naiz Doug Lloyd. Hau CS50 da.