[THEME MUSIKA] HIZLARIA: 1 Hi, guztiontzat. Ongi etorri berriro atala. Lovely day out-- eta horregatik, naiz Ziur ere, badira lau bakarrik hemen eta ez gure ohiko pack. Izan gaixoa izan dut asteburu honetan. Beraz, ez dut Starburst zaudete. Eta eztula hasi ahal izango dut izugarri honetan zehar. Beraz, nirekin hartu. Benetan saiatu noa eta honen bidez lehenik eta behin, nahiz eta, eztula eraso bat izan dut aurretik. Baina nahiko luke me a erraza gutxi duten bit da dena eskatu nion. Beraz, gure gaur agenda bat besterik ez reminder-- zure quiz datorren astean da. Esan dizut azken aste honetan hain ez litzateke harrapatuz gero guardia off. Beraz gogoraraziz naiz berriro. Datorren asteko zure quiz. Horretarako, datorren astean atalean, askoz gehiago izango da of-- saiatu eta berrikuspena batzuetan lan egin dut. Beraz, you guys izango banu lagundu me out me bidaliz ari zaren eroso gauzak Honekin guztiarekin, Oraindik kezkatzen, duela nahi genuke gaiak nagusitzat, me handia izango litzaidake. Beraz, saiatu naiz eta lan horiek gure atalean hurrengo astean edo material osagarria edo PReP bidaltzen duzunean agian ez duzula beste nonbait lortuko. Yeah! Pertsona gehiago dira datozen! Pentsatu nuen, egin gaizki azken dudala astean, inork ez du nahi itzuli? Beldur naiz. Beraz, beste hiru gauza ari garen joan dira berbideraketak, fitxategi I / O, eta ondoren, erakusleak eta memoria dinamikoa. Ziur bazaude guztia super hunkituta nago erakusleak guztion gogoko gaia, beraz, erraza da ulertzeko. Ziur asko guys got guztiak, eskubidea dut? Beraz, ezer baino lehen, redirection-- hau da, funtsean, modu bat besterik ez how you sarrera kontrolatzeko zure barruan gauzak, nola zure programa irteera dituzun gauzak. The modu nagusi duzu guys elkarreraginean dute berarekin besterik ez dituzte arauaren bidez zure inprimatu pantaila hemen. Baina ez dira modu pipe-- Hemen ikusten dugun bezala da gure words-- mota bat kanalizazio-informazio datu edo fitxategi batetik fitxategira. Egiteko modu ezberdinak da gauzak zure barruan eta zure programa kanpo, ordez besterik inprimatu pantaila honetan edo gauza inputting komando-lerrotik. Beraz, inork lehen gutxi kurtsore baino handiagoa. Beraz output-- da irteera bistaratzen besterik ordez zure pantailaren fitxategi batean. Zerbait inprimatuta izan So baduzu "Kaixo, mundua!" pantailara, ordez jartzen baduzu , output.text dela izeneko output.text fitxategi hau sortzen. Eta irekitzean, bertan egingo esan "Kaixo, mundua!" hor. Hau super erabilgarria izan daiteke akatsak tona bat baduzu egia esan, ikusi dugu hau bezala. Bi kurtsore egiten baduzu, egingo inprimatu akats mezuak. Beraz, bada, arazo bat izaten ari bazara konpilatzean, akats asko ditu eta zu lortzean bogged behera nahian korritu bidez zure komando lerroan horien guztien bidez, ahal duzun besterik inprimatu fitxategi batean, ireki fitxategi hori da, beraz, horien bitartez errazago mugi zaitezke. Benetan erabiltzen dut bat asko arazketa nintzen Nire 181 makina ikaskuntzarako psets. Beraz, super erabilgarria izan daiteke geroago. Halaber, lagungarria da programa bat baduzu agian liburutegi bat sortzen edo multzo batzuk sortzen kateak, eta zuek hori ikusi ahal izateko horiek behar bezala sortzen da. Hori horrela egin behar da. Beraz, horiek inprimatzen baduzu, fitxategi batean badago, aldi errazago dezakezu aztertu, ezta? Jaon saiatzen Versus Zure komando lerro bidez. Eta gero, kontuan izan gauza bat dela besterik handiagoa baita; kurtsore baino, zuk idazten ari bada Dagoeneko existitzen duten fitxategi batera Horrela lehen hau ran dugu bada ordua, behar output.text jarri dugu, eta, ondoren, bigarren programa bat izan genuen Bi programa gisa inprimatutako honetan eta egin output.text baino handiagoa, Egia gainidatziko da, beraz, gainidatzi inoiz zer zen ere fitxategi hori hasteko. Beraz erantsi nahi baduzu fitxategi batean, hemen ikusten dugun bezala, egin besterik ez duzu seinaleak baino bi handiagoa. Eta egingo erantsi du. Ez da gainidatzi. Beraz, anitz exekutatu behar baduzu programak eta mota horretako jarraituko zer denak pista duzu itzuli fitxategi batean dela egiteko modu bat da. Ez baduzu zaintzeko baduzu zer da, zure koadernoan eta onartzen da gainidatzi beharreko, baino handiagoa bakar bat erabili ahal izango duzu. Ez duela zentzurik guztiontzat? IKUSLEEN: Like dot barra kaixo handiagoa Irteerako dot testu baino bezala, bi aldiz, , besterik ez bakarrik irteera erakutsi dot testu bigarren time-- bat HIZLARIA: 1 Eskuin. Beraz, funtsean, litzateke, besterik gabe, erabat gainidatzi zer zegoen hasteko. Fitxategi hau hemen, bada output.text dagoeneko existitzen da, funtsean, dena delakoa deitzen duzunean berau handiagoa bakar batekin berriro besterik ez dezakezu pentsatu baino bezalako fitxategia ordezkatu zuen. Hitz bat ari zaren aurrezteko Like Dokumentu eta ez duzu gorde, eta izen bereko mantentzen duzu, eta erabat gainidazten da hobeto esanda hau gauza sort bera da. Edonork buruzko edozein zalantza besterik fitxategi batera irteera? Awesome. Beraz, jakina, buelta baduzu gezi norabidea, sarrera egin ahal izango da. Beraz, you guys izan denean Caesar edo Visioneer bezala eta gaurko sarrera zerbait, komando lerroko argumentu bat izan al duzu benetan sarrera da. Hori egiteko beste modu bat da. Beraz ordez zain komando bat, eskatu duzun bezala zure Caesar edo Visioneer mezua, Testu fitxategi bat izan bada duten zure mezua izan, izan besterik ez duzu idatzi noiz sartu. Beraz, hau dot bezalakoa balitz barra Caesar 3 gezi sarrerako testua, baino gutxiago bertan Zure mezua da, hau ondo funtzionatuko luke. Zure Zesarrek programa benetan Noiz sarrera eskatu erabiltzaileari, da jada delako Nik fitxategi honetan idatzi. Hau beste modu bat besterik ez da. Just output-- atzekoz aurrera besterik gabe, zure datuak sarrera. Eta gero, azken hoditeria da. Beraz cool nahiko bat honetan. Aukera ematen duelako nahi Bat irteera hartu programa eta gisa ipini programa beste sarrera. Ez dakit duzun edozein bada Argitu du taldea CS50 dela, baliteke eman duzu, baina horrek lagin batzuk hartu ahal izango duzu fitxategian, idatzi sinatze sartu, eta gero hortik idatzi Zure deszifratzeko sartu dela Ziur egiteko out bera horrexegatik da. Beraz, mota horretako hiru modu begizta bezala. Anima zaitez. Ikusleak: programa bat bada hainbat sarrera ditu, dago modu bat da, sarrerako kontatzeko Testuaren fitxategia edo irteera erabili? HIZLARIA 1: hainbat sarrera ditu. Whatever fitxategia zure sarrera duenean da sarrera lehen aldiz ez da eskatzen, da , bere gain hartzen dut uste, da Fitxategi osoa pipa egingo. Beraz, hainbat sarrera bat baduzu, zaren Hainbat fitxategi beharreko hoditeria joan. Beraz, bada, mezuak zuk galdetzen ari Zure kodea hiru aldiz, zara jartzen ari zaren Hiru fitxategi ezberdinetan. Eta ero lortzen. Eta ez behar duzu behar kezkatu oraintxe. Baina hori ideia. Beraz, bai, upel irteera besterik ez da programan sarrera erabiltzen besteari. Guztiek ona dago? Cool. OK. Ziurrenik ez dute gehiegi egin berarekin. Baina ulertu behar duzu Modu hau erabili ahal izango duzu. Eta ez dago, kasu batzuetan direla agian erabili nahi duzun. Beraz, fitxategi I / o zertan ari zaren jakin dut saying-- erabili dugu irakurtzean ari eta gure pantailara hor idazten, hau da, estandar eta estandar out. Eta hori duzuna guys izan da klase hasieran geroztik hemen egiten. Baina dezakezu ere, irakurri eta fitxategiak idatzi, fitxategi guztiak I / o beraz, fitxategi sarrera da, Irteera nabarmentzen da. Beraz, hau, funtsean, esan nahi du, orain zure datuak gorde ahal izango duzu. Duzunean inprimatu besterik ez da behar pantaila, funtsean desagertuko da, ezta? "Egiten duzun bezala Kaixo bezain laster Mundu munduan "eta run" Hello " "Kaixo mundua" bistaratzen da pantailan. Baina ezin duzu benetan egin ezer bertatik. Testu batean gordetzen baduzu fitxategia, eta, ondoren, bat-batean Onartzen ari zaren datu hau behar duzu manipulatzen edo jarri fitxategi batean, edo jarri programa bat geroago. Arrazoietako bat zergatik egiten dugu hau besterik datuak gordetzeko geroago erabiltzeko modu bat bezala. Urrats pare bat daukat hemen besterik estandarra paseoan I / O. Urrats bat ere, zuk erreferentzia bat sortu behar guztiarekin fitxategira txapelak FITXATEGIAN izar fitxategia. Beraz, fitxategi batean erakuslea bat sortzen du. Orduan Ireki nahi al duzu. Eta, esan duzu, hitzez hitz, file besterik fopen berdin. Eta hau da, itzuli egingo da fitxategia ireki besterik ez duzu erakuslea. Duzu pare bat ikusi nuen bulegoko ordu guys. Baina gauza bat gogoratu erakusle da helbide edo null batzuk, egokia izan daiteke? Inoiz daukagu ​​kasu bat non badu Zerbait null itzultzeko, zer egin behar dugu erabili dugu inoiz aurretik? Nahi izanez gero, egiaztatu behar dugu nulua edo ez, da, ezta? Zuetako batzuk izan baitaiteke alea non edozein delarik ere objektu breakout itzultzen ari zen nulua izan zen. Egin nahi saiatu zara Gainean funtzio batzuk. Eta zure ordenagailuan gune faulted. Eskuin? Duzu pare bat apostu dut gai hori izan daiteke. Beraz, fopen, bai izango fopen erakuslea itzultzeko fitxategian, edo zerbait oker joaten bada, nik null itzuli egingo da. Beraz, beti egiaztatu behar duzu du ez dela itzuli null aurretik beste ezer egin saia zaitezke. Honek paradigma estandar bat bezalakoa da zarela hemen behar du. Inoiz ez da aukera bat Zerbait null itzultzeko, egiaztatu ziur da ez du aurretik jarraitzeko. Bestela, bazoazela eder gune hutsegite lortzeko. Eta inork ez gustuko dutenentzat aurre. Beraz, hemen ikusten dugun bezala, lehen argumentua fitxategiaren bidea da. Fitxategi hori existitzen ez bada, nik fitxategi hori sortzeko. Eta besterik ez da hutsik egon behar. Eta gero, bigarren argumentua nahi duzun modua da. Ez al Fitxategi hau irakurri nahi dugu? Ez bertatik idatzi nahi? Ez erantsi nahi duzula? Beraz, benetan zer esan besterik ez dut fitxategia existitzen ez bada eta irakurri nahian ari zarela da, akats bat bota egingo da. Fitxategiaren izen bada gustatzen bazaizu file.text ez da existitzen oraindik eta idatzi nahi duzun bertara, sortuko du izeneko file.text duzu fitxategi huts bat. Eta erantsi nahi baduzu, Gauza bera egin beharko duzu. Ez duela zentzurik? Zuk irakurri nahian bazabiltza hori ez da existitzen oraindik fitxategia, Errore bat botatzea izango da. Bestela, fitxategia sortuko du ez duzu zer nahi duzun. Cool. Orain fitxategia irakurri ahal izango dugu. Eta hau da, besterik gabe mota joan eginkizun ezberdinen bidez fitxategia / I dugula. Hau izango da aste honetan pset beharrezkoa izan, ondo gogoratzen badut. Bai, erabat izango da aste honetan pset beharrezkoa. Beraz fgetc du hurrengo karakterea itzultzen du. fgets besterik testu lerro bat itzultzen du. Ezer itzuliko da arte lerro berri bat, eta hautsi egingo da. Beraz fread irakurtzen jakin bat byte eta leku horietako zenbaki array bat, sartu bertan zerbait da zenituzkeen re-, tamaina egin nahi erabilgarria izan daiteke. Zenbat pertsona legal irakurri pset zehaztutako, bide batez? OK. [INAUDIBLE] HIZLARIA: 1 OK. Guztiak eskubidea. Definitely irakurri -bere pset fun bat da. Ezabatutako oroitzapen bat berreskuratu nahi du lortu duzu card-- benetan zirraragarria denean funtzionatzen. Baina zalantzarik gabe, hasi irakurtzen. Zatoz nirekin hitz egiten baduzu zalantzak. Ados, eta, beraz, nioen, fread byte kopuru jakin bat irakurtzen. Hori arbitrarioa kopuru batzuk zarela gisa ezartzen joan. Eta gero kokapenean fseek mugitzen besterik Kokapen jakin baterako. Beraz, agian ez duzu zaintzen Datozen 10 byte buruz. Aurrera salto egin nahi besterik ez duzu. Ez duzu horiek zaintzeko. Byte 11 at hasita irakurri nahi duzu. fseek hori egiten uzten dizu. Beraz, gaikako izateko aukera ematen du zer irakurtzen ari zaren. Fgetc, fgets eta fread irakurria delako fitxategi leku jakin batetik. Honetan pentsatu modu bat hau bada gure fitxategia da, lehen aldiz irekitzen duzunean, eta, fitxategia posizio hori duzun hasieran hasten da. Deitzen duzunean fgetc, fgetf edo fread, nik abiatuko joan posizio markatzaile horrek. Demagun besterik irakurri nahi duzun zatia memoria hemen. Ezin duzu besterik ez deitu. Hemen bilatu behar duzu eta gero hortik irakurri edo irakurtzen, lortzen, edo getc, zer nahi duzun arabera. Beraz, bilatu besterik ematen dizu memoria zatiak saltatzeko. Eta hori da, soilik gauzak ez egin irakurtzeari zure buffer sartu gabe. Ez duela zentzurik guztiontzat? Jakina, ez dago bat hemen paralelo asko Gure irteera, edo berbideratu sarrera, irakurtzen eta idazten duzu. Beraz fputc besterik idazten a fitxategi barruan pertsonaia. fputs lerro bat idazten du. Fprintf formateatuta irteera bistaratzen du. Beraz tabs izanez gero, edo espazio edo whatnot. Eta, ondoren, batzuk idazten fwrite fitxategi batean byte array. Beraz, hau modu berean da fwrite eta fread antzeko dira opposites-- fgets, fputs, eta orduan fputc eta fgetc-- asko Gauza crazy, azkar. Just handy-- hau motatako mantentzeko garai desberdinetan izan dituzu non agian nahi besterik ez duzu aldi berean pertsonaia bat. Agian lerro osoa nahi duzun. Hiztegi pset-- With horietako bi psets da, Nik uste dut, zuk oso bat emango dugu Testu formatu batean hiztegi bertan hitz bakoitzak du lerroak bereiziak. Beraz, irakurri nahi izanez gero garai batean hitz bat, zer egin dezake irakurtzen ari bazara erabiltzen duzun eta ari dira guztiak ildo berriei buruz bereizita, eta besterik nahi dituzun aldi berean hitz bat? Ikusleak: fgets HIZLARIA: 1 Eskuin. Fgets-- itzultzen duelako edozein dela ere, lerro bat da. Eta hitz bakoitzak bere bada Zeure line, fgets erabili ahal izango dugu. Cool. Ez duela zentzurik, denok? Cool? Bai, ari iritsi garen erakusleak zati dibertigarria Oso laster, bertan duzu lortu matematika batzuk egin. Eta ona izango da. Azken step-- zure fitxategia itxi. Hainbeste gauza hemen, paradigmen bat da itzuli ahal bada null, null egiaztatzeko. Zerbait irekitzen baduzu, hobe duzu itxi. Ados, beraz, ez dituzunean egin zaren arte egin duzu itxi ezean Nik ere. Kind ez bezala haren gainean gantz dama abesten arte. Hori da zure fitxategia ixtean bezala. Hemen, dioen bezala besterik ez da , berretsi beti ireki fitxategia Oraindik duzu aurretik irakurtzen edo hura idazten. Eta beti itxi dituzun zabaldu zuen gero. Guztiak eskubidea? Cool. Hortaz, hona hemen adibide bat. Ez nituzke tiny-- badakizu Mutil oso ondo dagoela ikus daiteke. Bakarrik handitu ahal bagenitu distira nolabait. Benetan me hau egin dut, ahal bada. Ados, you guys ezin benetan ikusten ari, ahal izango duzu? Ados, hori egin ahal izateko, ondoren goaz. [INAUDIBLE] Hau da, askoz hobeto ikusten du bere gain hartzen dut. Ezin inor ikusten, non da nire saguaren joan, galdera da? Ah, ez dago zer borrokan is-- da! OK. Funtsean, you guys mota izan behar du zer horren ideia bat egiten ari da. Ez da perfektua. Baina nahiago dut azaldu gastatu baino Denbora gehiago behar bezala formateatu nahian. Funtsean, hemen ikusten duzun bezala, Hasten fitxategia ireki dugu. Eta batzuk ditugu Datu-baseko kontsultaren garela duten irekiz dio gure ikasleek ere. Eta ari gara horretan idazteko joan. Jakina Beraz, itzultzeko null. Beraz, null egiaztatzeko behar dugu. Eta gero ez bada null, bidez gara. Eta ikusten duzun bezala, ez gara Hemen bidez begizta. Badira ikasleak. Ikasleak hash hiru bezala definitzen da. Eta zer egiten ari garen garen fitxategira inprimatzeko, ezta? Beraz, zer ari gara inprimatzeko gure koadernoan? Ikusleak: puntuazioak array dira? HIZLARIA 1: Bai. Horretan daude puntuazioak array zehazki. Beraz, hau irekitzen ditugu datu-basearen fitxategia, I bere gain nolabaiteko da kalifikazio datu-basea. Eta besterik ez gabiltza out inprimatzeko fitxategi hori ikasle bakoitzaren partiturak. Cool? Good. Awesome. OK. Dezagun atzera zaie IKUSLEEN: galdera azkar bat dut. Printf ez du begizta da? Hori besterik begizta bada ere? HIZLARIA 1: Ez, egun da begizta. Ezin dut ikusi nire sagua oso ondo hemen. Beraz, borrokan ari naiz formatu behar bezala. Tarte horretan desagertuta egongo da. Hemen behera izan behar da. Hau da, zer da zure begizta. Ez dago. Orain polita da. Beraz, nola jolasten beharko luke izan ezik Azken tarte horietako nuela baztertuko da. OK. Ez duela zentzurik guztiontzat? OK. Mugitzeko goaz hurrengo gauza, orduan eta horrek, egia esan, bazoazela Kodea ikusi behar da. Beraz, besterik ez naiz joan kopia baino gehiago da, oraintxe bertan. OK. Beraz, ez dut erakusteko guys kode hau joan. Eta eta saiatu figura nahi dut zer suposatzen du egin. Beraz, emandako -bere minutu bat edo, beraz, hartu. Saiatu bertan zer gertatzen da hemen. Ideia bat? Badakigu duten gutxienez bi Komando lerroan argumentuak, ezta? Horietako bat izango da bere gain hartzen I duten [INAUDIBLE] gure programa da eta, ondoren, beste zerbait. [INAUDIBLE] ez da hain Zergatik Bai bi baino, Yell horiek ditugu. Eskuin? Eta erabilera batetik, itxura nik fitxategia nolabaiteko izango da. Horretara Denok ados? Beraz, orain, zer da begizta egiten? Zer igaro da? Ikusleak: Fitxategi guztiak. HIZLARIA: 1 Zehazki. Honez igaro denak sarrera dugu han fitxategiak. Beraz, fitxategi bakoitzeko, behin- kate batzuk irekitzea han. Sortu da fitxategi hori irekitzean. Eskuin? Eta bertatik ari da irakurtzen. Jakina, egiaztapena nulua bada. Eta gero, inprimatzeko. Null bada, besterik ez da gurekin kontatzea duten hori ez da existitzen den fitxategi bat. Gogoratu, delako irakurri gure fitxategia ez da existitzen. Eskuin? Idazketa eta append, get away dezakezu berarekin. Baina irakurri, gure fitxategia ez da existitzen. Eta, ondoren, existitzen bada, zer egiten dugu hemen? Dezagun hemen hasten besterik gabe. Zer da hau do-- lehen pertsonaia hau. Zer egiten du? Karaktere bat lortzen zuen, ezta? Beraz, zer egiten ari da? Honez lehen karaktere lortzean. Edonork ezagutzen EOF? IKUSLEEN: fitxategi amaiera? HIZLARIA: 1 fitxategia zehazki amaiera. Beraz, bidez joan Fitxategi osoa, ezta? Eta gero, to arabera egunera joan ondorengo karaktere guztiak lortzean. Eskuin? Eta zer ari da egiten? Ikusleak: noiz part in-- HIZLARIA: 1 putchar grabatuak pantaila da. [INAUDIBLE] pertsonaia. Eta orduan, [INAUDIBLE] hau fitxategia itxi egingo da. Ikusleak: Ez duzu behar [ba al duzu? bestela? ?] HIZLARIA 1: Ez du zertan. Esan nahi dut, bere mota horrekin lotutako zenbait. Hau itzultzen baitu, baina, betiere, gisa ez du harrapatzeko honetan, zaren fina. Esan nahi dut seguruenik ona lantzeko beste burutzeko. Baina, bestela, ez da beti Beharrezkoa batez zerbait baldin baduzu itzultzea, adibidez, horiek esan nahi du, kasu honetan harrapaketak da, zure programa amaituko da eta hori inoiz hau lortzeko. It kasu non ari zaren gehiago ez du zertan zerbait itzuli. Hau ez zen bada delako ezer itzuli, esan nahi egia balitz litzateke, honen gainerako litzateke oraindik exekutatu. Eta kasu horretan, duzu faltsu bat nahi luke. Nik itzuli bada, eta zure programaren amaiera, bestela, bat ez da beharrezkoa guztiak ordua, testuinguruaren arabera. Jacob, ez zuen galdera bat duzu? IKUSLEEN: Bai. Beraz fgetc du hurrengo karakterea lortzeko? Nola pertsonaia handituko du horrek? HIZLARIA 1: Bai. Beraz fgetc karaktere lortzen. Dezakezu uste ahal C ++ bezala zentzu batean. IKUSLEEN: zer zen EOF? HIZLARIA: 1 EOF fitxategi amaiera da. Besterik dela badakizu aukera markatzailea Oraindik ez duzula zure fitxategiaren amaieran. Beraz, hau da argitaratzeko Zure standard out. Eta gero, itxi egingo Fitxategiaren denean egiten da. Eta gero utzi joan en Hurrengo fitxategia, ezta? Beraz, oro har, zer egiten du programa hau? [INAUDIBLE] HIZLARIA 1: Bai. Besterik bistaratzen da xehetasunekin. Beraz, you guys inoiz erabili dute bada CAT eta orduan fitxategi baten izena Ez dakit duzun edozein bada dute inoiz egin duten zure terminal on. Baina inoiz erabiltzen baduzu etorri Komando CAT-- C-A-t eta, ondoren, edozein izanda fitxategia han egon behar duzu bistaratzen da zure terminal, zein super gauza batzuetarako erabilgarri izan daiteke. Asko erabiltzen dut. Ez duela zentzurik guztiontzat? Cool? Ados, beraz, zure zeregina orain bai zuri edo zuk inguruko pertsonekin da programa erraz bat besterik ez idazteko hori besterik idatziko du "Kaixo, mundua!" fitxategi batean daude. [INAUDIBLE] [INAUDIBLE] HIZLARIA: 1 nintzen bezala, egin zuen Gaizki joan den astean egin dut? Nik ez dut uste hori izan zen txarra. Pozik zu guztiak hemen nago. Egiten benetan me zoriontsu. Plazer sinpleak neska bat naiz. Gustuko dut nire atalean joaten denean. Beraz, besterik ez dut hau hasi lortzean you guys beraz, elkarrekin moldatu daitezke dugu. Ez zait gustatzen edonork jarri Leku Izan nahi ez baduzu. Ikusleak: galdetegia, egin programa bat idatzi behar dugu? HIZLARIA: 1 duzu eskatu ahal izango dira programak simple eskuz idatzi. Yup. Ikusleak: Galdetegia datorren astean da, ezta? HIZLARIA: 1 galdetegi datorren asteazkenean da. Horrek esan nahi du, ez da [eder bat? DBHko?] party kalifikatzean gero, horrek esan nahi du, eskuratu ahal izango duzu zure partiturak back zer ordutan gauean hori? Nork daki? Baina gau hartan izango da. Guztiak eskubidea. Nola hasi nahi dugu? Emango dizu bat hint-- honekin hasten naiz. Ikusleak: fitxategi bat ireki behar duzu. HIZLARIA 1: Bai. Beraz, zer hau deitu nahi al duzu? Ez, besterik gabe, nahi duzun horri "fitxategi" deitzea? Dezagun erraza. Beraz fopen-- zer da gure irteeraren proba izango da? Deitu "Kaixo". Eta zer da gure modua da? Zer egiten dute fitxategi honetarako dugu? Ikusleak: irakurri. Idaztea. HIZLARIA: 1 ari da idazten dizugu. Lovely. Ados, beraz, fitxategi hau behar dugu orain. Zer egin behar dugu? Ikusleak: Check nulua bada. HIZLARIA: 1 Check nulua bada zehazki. Hori da zer entzun nahi dut. Hori automatikoa izan beharko luke, batez ere, nahiko askoz puntu horretatik aurrera. Hasten zara segfaulting bada, ziurrenik duzun ez zuen begiratu nulua nonbait. Bederatzi aldiz, hamar atera, hori da zure error izango. Beraz, ezin duzu besterik ez duzu lortzen bada ohitura, beti egiaztatu null bada, zure bizitza izan da joan polita eta easy-- edo errazagoa. Beraz, egiaztatu null bada ikusteko. Beraz, ez da null bada, horrek da bang zer berdinen ez esan nahi nulua baliogarria da. Zer egin nahi dugu? Besterik inprimatu nahi dugu fitxategi hori, ezta? Beraz, zer erabiltzen dugu? Ikusleak: Fprintf HIZLARIA: 1 Fprintf-- ederra. Eta fprintf bi arguments-- non hartzen egingo da, eta inprimatu nahi dugu. Beraz, zein da lehena? Nora joan? Ikusleak: Fitxategia. HIZLARIA: 1 Honez fitxategira joan. Eta zer inprimatutako nahi dugu? "Kaixo, mundua!" Guztiak eskubidea. Azken gauza bat daukagu paradigma bat big hemen. Ikusleak: Itxi. HIZLARIA: 1 Itxi. Bertan joan zaitezke. Ikusleak: happening hau da fitxategia null bada? HIZLARIA 1: Ez, hau da, ez da nulua bada. IKUSLEEN: Oh, not-- OK bada. Fopen eta gero For barruan bi argumentu dituzte, zer esan nahi du, lehen argumentu berriro? HIZLARIA: 1 argumentua da fitxategi baten izena bezalakoa joan nahi duzula. Beraz, hau exekutatzen ondoren, zuk litzateke "kaixo" izeneko fitxategi batzuk izan bere baitan "Kaixo, mundua" izan. Hori da dena. Izena besterik. IKUSLEEN: Eta hori baita idatziz ere, fitxategiak ez badu dagoeneko existitzen. Zer esan duzu hori? HIZLARIA: 1 Eskuin. Zehazki. Bada "Hello" fitxategi gisa ez da existitzen oraindik, da izeneko fitxategi bat sortu da Hello "eta idatzi ahal izateko. IKUSLEEN: ari zaren kontatzea programaren fitxategia idatzi zuen, zergatik idazten duzu ordez "fitxategi" fitxategia eta fprintf-- izenean HIZLARIA: 1 denez, kasu honetan, behar dugu guztiak caps-- star fitxategi handiak, artxibatzen. Beraz fitxategia erakuslea da buruz hitz egiten ari zaren. Horrela da da erreferentzia besterik ez dugu. Beraz, kasu honetan, duzu fitxategi aha pentsa dezakezu, fitxategia this-- hemen ezin dugu erabili inaugurazio aipatzen "Hello" eta uzteko idazten. IKUSLEEN: Ezin dugu jarri bat "Hello" ordez [? besterik?] f fitxategia? HIZLARIA 1: Ez, zeren "Hello" irekia eta idazteko eskubidea izan behar du. Fitxategia hemen bat bezalakoa da designatzaile OK dio, dugu fitxategia kaixo hau dute bilatzen ari gara horretan. It jarri da. Eta ari gara horretan idazteko joan. Zuk erabili besterik ez bada "Kaixo", hori da honen bitartez. Beraz, freak behar. Esan nahi dut, zuk izendatu zitekeen. File egin izan duzu, izarra, "Hello", berdinen. Baina puntua duzula da Behar fitxategia izar ordena erakuslea Funtzio horiek erabili ahal izateko. IKUSLEEN: Ezin duzu egin fitxategia, star, fitxategi, "Hello" edo ez jarri behar duzu artxibatzen star, fitxategia hark? HIZLARIA 1: Ezin duzu Egin fitxategia, izarra, "Kaixo". Alda dezakezu honetara edozein dela ere izena nahi duzun. Da erabat arbitrarioak zer izen dela. Izena eman ahal izango duzu ezer. Izena da spaghetti hegan, nahi izanez gero. Ikusleak: Zer da "w" komatxo for? HIZLARIA 1: The "w" besterik modua da. Beraz, fitxategi honetarako ari gara idazten. Pertsona orok ona? Eguraldi? Bai. Ikusleak: hau idazten Beraz, artxibatzen, nora orduan fitxategi hori? HIZLARIA: 1 It egingo berean egon Direktorio Oraindik gaur egun ere duzula. Oraindik pset hiru bazara eta honetan, exekutatu duzu zure pset barruan Hiru karpeta izango da Fitxategi hau deitzen "Kaixo". Cool? Pertsona orok ona? Zauden bezala sentitzen dut lortzean, handia da. OK. Beraz, nire diapositiba show-- itzuli Maite dut gauza funtzionatzea. OK, erakusleak ilusioa Are you guys? Erakusleak handia. Pixka bat hartu dute zure burua itzulbiratu inguruan. Hau nire bigarren urtea da erakusleak irakaskuntza. Eta uste dut azkenean lortu dut. Beraz, borroka baduzu, OK da. Lehen esan dudan bezala, marrazketa pictures asko laguntzen CS gauzekin, eta gehien uste dut pertsona joera gisa pentsatzea oh, Oraindik ordenagailu bat dugu. Kode hori behar dugu. No-- marrazketa pictures izango da benetan lagunduko duzu. Eta benetan gomendatzen dut Zure kindergartner albo sartu sakatu eta argizariak ekarri edo markatzaileak eta zozketa. Lagunduko dizu delako. Eta ni ikusten baduzu bulego ordu, I paper pila inguruan egingo egitea izango boligrafoak gauza marrazten duena. Beraz, batez ere, erakusleak irudiak marrazteko. Eta ziur benetan ari gara, ez horixe izan hemen ere argazki batzuk marrazten. Beraz, you guys guztiak lortu Binky ikusteko, cool claymation gauza hau. Eta uste dugu benetan dibertigarria da lehertzen pieza sorta bat sartu zuen. Klaserako komiki erliebe batzuk da. C [INAUDIBLE] gaitasuna handi hau memoria kontrolatu ahal izateko. Eta gauza bat da benetan hala nola, hizkuntza indartsu bat egiten du. Baina botere handia dator Erantzukizun handia. Eta crazy gauza gerta daiteke ez bazaude, kontuz ibili. Beraz, erabiltzen ari zaren erakusleak, egin nahi duzun Ziur benetan ulertzen duzu mehatz zer egiten ari zaren. Espero dugu datorren little bit benetan ulertzen lagunduko dizu erakusleak, nola erabili, eta nola manipulatzeko. Beraz, memoria ziur dugu naiz ikusi diagrama honen aurretik. Beraz, hau diagrama sinple bat besterik ez da memoria gauzak nola gordeta egon liteke. Beraz, funtsean, hauek byte bloke multzo handi da hemen arina zer dugu aldi bakoitzean banan zatituko. Hau hamaseitarra da [INAUDIBLE] zortzi biteko bloke beraz. Eta bloke bakoitzean gurasoari helbide hamaseitarra batzuekin. Beraz, bada, inoiz ikusi badu 0x, hori besterik ez notating helbidea hamaseitar bat dela. Horrek esan nahi du bere gain hartzen dezakezu memoria-helbide batzuk. Memoria helbideak Buruz ari gara hitz betiere hamaseitar ikusten duzu. Ints aldagai ditugu, karroza gordetzen duten aldagaiak dira. Beraz ints denda ints. Pausoak denda flotatzen. Beraz, ere izan dugu erakusleak denda memoria helbideak. Hori mapping moduko bat da. Erakusle dira esklusiboki memoria helbideak da. Beraz, zure mota ez bezala da. Zure tresna da 32-bit, eta horrek esan Zure memoria helbidea dela lau byte da. Beraz, hori duzu edozein erakuslea Halaber lau byte izango. Edo lau byte da, bestela, bada, memoria lau byte da. Erakusleak denda memoria. Hori dela eta, lau byte ari dira. Cool-- besterik ez da indartu nahi. Komiki hau lortuko zenuke orain. Ez dakit zuk zenbat xkcd zale dira, baina maite dut xkcd. Handia da. Guztiak eskubidea. Beraz sortzeko erakusleak esan dudan bezala, oso pretty much besterik nahi beste ezer. Mota bat behar duzu. Izen bat behar duzu. Eskuin? Horixe hor dugu. [? Hex?] Star esan erakuslea da, eta, ondoren, dena delakoa deitu nahi duzun. Beraz, mota adierazten du zer gorde ahal izango duzu. Guztiak eskubidea? Era berean ints egiten badugu, badakigu int ez gordetzeko ari gara. Erakuslea batera, hura memoria-helbide bat dauka. Baina, zer esan nahi da horrelako hemen non marrazki bat dago erabilgarri etorriko joan. Beraz, kasu honetan, dugu Zenbait balioa demagun lau. Lau helbide bat da. OK? Lehena hemen esan nahi du erakuslea 2x bat dela. Eskuin? Erakuslea x batzuk da. x zerbait izan daiteke, edozein. Whatever x is-- esan x lau da. Honez gordetzeko joan memoria helbidea. Beraz, int, star, x-- hau da beste memoria slot batzuk Nork daki hori zer den. Baina Helbide bat gordetzeko hemen. Beraz, honen antzeko izango litzateke kasu honetan, Whatever da 0x1-- gordetzen dena delakoa da gordetzen gure erakuslea antolatzen duten helbidean, eman etortzeko ditu zer izendatu dugu. Beraz, 0x1 batean, kasu honetan, hau x da. Hau baino ezin da inoiz izan bat int dugu hau erabiltzen ari den bitartean. Era berean, badugu 1y beste, edozein dela ere helbidea gordetzen da batera y dauka z Gauza bera char-- bat izan. Era berean, direnean saiatu eta egin intx berdin 0,4, nik at Yell eta be going atsegin ez, int bat nahi zenuela esan duzu. Honek suposatzen da int bat izan nahi du. Gelditu mugikor bat egin nahian. Hargatik gauza izan zer izan nahi dute. Dezagun gauza beraiek izan. Beraz, gauza handia da, besterik gabe, edozein erakuslea mota da, hori bakarrik, Gauza ez gordetzeko dezakezu. OK? Praktikarekin, bezala azken astean, guztia Badirudi benetan I mota abstraktuak. Praktika batzuk egin behar izan dugu. Zentzu gehiago egin behar da. Beraz, erreferentzia eta dereferencing-- da zuzen horiek lortzeko benetan garrantzitsua da. Oraindik freskatzeko behar dut orain eta gero. Eta itxaronaldia bezalakoa naiz, eta horrek bat egin nahi dut? Beraz, ampersand benetan emango erreferentzia edo helbidea. Beraz, helbidea itzultzen du aldagai oroimena gordetzen da. Beraz, benetan, itzuli egingo hamaseitar bat, dereferencing berriz benetan emateko egingo han gordetzen dira datuak. OK? Beraz, adibide bat begiratu oso azkar, edo benetan sortu ondoan. OK. Beraz, benetan pentsatu behar dugu arretaz honi buruz. Beraz, hemen osokoa x batzuk ditugu. Saiatu eta marraztu hau noa nire gaitasun onena out. Beraz, zirrikitua x honek izan du. Eta hori, gordetzeko bost. Bere helbidea 0x4 da. Cool? Guztiak ona. Beraz, gaur egun erakuslea hau dugu. Zen hemen baino gehiago da. Eta ampersand ematen digu Zerbait helbidea. Beraz, kasu honetan, x helbidea da. Zein da x helbidea? 04-- eta erakuslea hau 0x08 dago. Cool? Beraz, honi buruz uste dezakezu erakuslea, 04, besterik ez darama hemen. Eta ari erakusleak deitu dute hau sartu gehiago lortuko dugulako, Gauza seinalatuz ikusten ari zaren joan. Eta bloke bat beste seinalatuz bloke zentzu askoz gehiago egingo du. Beraz, hemen bi dira. Eta, ondoren, batzuk dugu kopia, zein what-- 0x0c da. Eta da joan gure erakuslea dereference. Beraz, zer esaten da OK, hemen gure erakuslea da. Balioa da gordetzen 0x04 da, Eta zer esaten da, joan helbide honetara eta esan dit zer den. Beraz, modu eraginkorrean zer gezi hau egiten ari da. Pentsa daiteke zure star bezala. Beraz, OK, orduan izarra egiten dugu, jarraitu nahi du. Helbide honetara joan. Eta hori da, funtsean, honako besterik gezi hau memoria zatia honetan. Eta eman digu zer den, hau da, 5. Horregatik, gure kopia 5 berdina da. Ez duela zentzurik? Norbaitek behar me bidez joan horretan berriro, edo motelago? Joan nahi duzu denbora gehiago pasatzen? OK. Berriro marraztu goaz. Dugunean Hasteko, ados denok daukagun duten aldagai bat da zatia memoria bat x 5 berdina ezarri dugu. Ez dugu kontrolatzen non dagoen memoria da. Beraz, puntu hau besterik ez da arbitrarioki esleitzen dira. Ona dago? OK. Ondoren, int bat erakuslea abiarazi dugu. Horregatik da seinalatu baimenik x hemen int bat izan dugulako. Beste zatia daukagu memoria delako erakuslea hau beste ezer bezalako aldagai bat da. Honez arbitrarioki esleitu memorian lekua. Eta zer gordetzen x helbidea da. Ampersand x helbidea esan nahi du. Beraz, zer x helbidea da? IKUSLEEN: da zero HIZLARIA: 1 0x04. Bata, orduan azken So. Copy-- batzuk berriro daukagu beste aldagai bat besterik ez. Hargatik esleitu leku batzuk arbitrarioak. Eta gure erakuslea dereference dugu. Izarra esan nahi joan helbide nire erakuslea gordetzen. Esadazu zer da bertan. Beraz helbidea gordeta gure erakuslea 0x04 da. Beraz, helbide horretara joan ginen. Honez helbide hori seinalatuz. Zer da memoria bloke honen barruan? Bost bat. Beraz, hori da gure kopia esleitu dugu. Pertsona orok ona? Cool. Berriro pictures. Beraz balioak hemen nago segimendua you guys hau pentsatzen utzi du. Beste irudi bat marraztu ahal izango dugu. Baina, eta saiatu duzun arrazoia nahi dut hau zeure minutu bat on bidez. Geroztik, ez dute eman Adibidez, helbide bat, Besterik ez naiz x-- ampersand egin da joan bertan gidatzeko etxera lagundu beharko. Ampersand helbidea esan nahi du. Beraz, inork lehen, denek parte Lehen lerroan joan. Zenbait x set en five-- batzuk oroimenez ausazko zirrikitua. Int star erakuslea berdina da x helbidea, ezta? Int star erakuslea sortzen Bloke honetan, deitzen da erakuslea, eta esleitzen da x helbidera. Ampersands at terrible naiz. Orain zer egiten ari garen esaten dugu Ados, gure erakuslea dereference. Beraz, goaz OK, zer da gure erakuslea da? X ampersand da. Ampersand x joan eta berriro ezar da. Beraz, orain, ampersand x 35 izango da. Beraz, funtsean, zaudenean dereferencing, OK joan. Egon marrazten ari zara hau bezalako irudiak. Egon marrazten ari zara Zure geziak non egingo da. Beraz zirrikitua hau joan memorian eta bai ematen dit balio back hori, edo aldatu. Kasu honetan, ez gara horretan delako balioa, ari esleitzea dugu 35 izan. Azkena, berriz bat, nabarituko duzu, dugu ziren, zer zen esleitzea Hemen beste zerbait ere. Beraz awesome mahai hau ere badute. Ez da txarra. Gainean Zaudete funtzionatzen. Marrazteko out taula gainean noa. Bete elkarrekin goaz, OK? Beraz grab batzuk paper, grab bazkide, hasi lanean. Bat lortu nahi dut klarion zati handiagoa. Nik asko izango delako. OK. IRAKASLEA: OK. Hasteko lehenengo errenkadan, dezagun. Hasiko gara han, orduan guys agian, batzuk gehiago bidez lan. OK. a berdin b bider c beraz, zer da? Ez da trikimailu galdera bat da, agintzen dut. STUDENT: 4, 5. IRAKASLEA: 4, 5. 20. Beraz, zer b? Ikaslea: 4. IRAKASLEA: Eta c? Ikaslea: 5. IRAKASLEA: 5. Eta gero, hau da, besterik joan egon ampersand bat, ampersand b, ampersand c, ezta? Ez dago gaizki. Simple nahikoa da. OK. Beraz, hurrengo batean. A berdinen aldiz c bat, kasu horretan, Edozeinek Ohituta zegoen. Denek ezagutzen aldiz berdin batekin? Ados, hori guztia esan nahi du hau da, a azkarra berdin aldiz c. Ere egin ahal izango da zatiketa, batuketa, kenketa batekin. Berdinen bat egin ahal izango duzu, edo, gehi bat berdin c esan nahi plus c bat, berdin minus bat berdin c ken c bat berdin izango litzateke. Besterik azukre sintaktiko da. Beraz, kasu honetan, bat berdina da Nondik c digu zer emango luke? Berriz ere, ez trikimailu galdera bat. Ikaslea: 100. IRAKASLEA: 100. Beste ezer ez da aldatu? No. Agian azkenean lortu dut Nire ampersands hobea. Ikaslea: OK, barkatu, nola 100 lortu duzu? IRAKASLEA: OK. Beraz, a berdina da Nondik c, beraz, aldiz c. Ikaslea: Oh, erabiltzen ari zaren previous-- for a IRAKASLEA: Bai. Beraz, horiek gure azken baloreak dira. Hauek dira zer izan behar duzun behera gisa erabiliz, OK. Beraz, b gauza aldakor bakarra da, ezta? Hargatik bete beste guztia ere. B. Zer da b izango da? Izan edo ez izan. Beraz, zer egiten ari da? Zer da izar pa egiten? Ikaslea: pa kokalekua Kodea. Ikaslea: Ez, ez da nahiko. Beraz, hau d erreferentzia da. Ikaslea: Beraz b pa balioa eskuarekin da. IRAKASLEA: Bai, beraz pa da baten helbidea, ezta? Beraz, non da go esaten gordetzen dira, eta balio hori eman. Beraz, zer da b? Ikaslea: 100. IRAKASLEA: 100. Perfect. Ados, beraz, pc da zer ari den aldatzen. Beste guztia berdin jarraituko du. Zer da pc izango da? Simple esleipena. Pc pa berdina da, eta zer da pa? Ikaslea: ampersand bat. IRAKASLEA: Perfect. Orain interesgarri ari gara. Ados, dezagun behera apur bat hau. Lehenik eta behin, zer da b bider c, hori delako Honen zati erraza, ezta? B aldiz c is-- Ikaslea: 500. IRAKASLEA: Bai, beraz zer da hau egiten, Da eta izar pb bada, zer ari da aldatzen? STUDENT: Zer da in the-- IRAKASLEA: Zer da b? STUDENT: Zer da espazioan pb dela seinalatuz. IRAKASLEA: Eta pb zaie apuntatzen da Ikaslea: B. IRAKASLEA: B. Beraz, soilik gauza aldakor b da, eskuinera. Beraz, b bider c, 500. Beraz, zer aldaketak orain. Cool. Lovely. Zaudete handia egiten ari dira. Ondo da, bat behera hau hautsiz. C aldatzen ari da, ezta? Beraz, beste guztia ezin dugu bete. Ikus dezagun. OK. C hori izango da ezagutzen dugu Bi zenbaki produktu, ezta? Zer bi zenbakiak, nahiz eta? Ikaslea: A eta c? IRAKASLEA: Beraz, bat da eskuinetik lehena da. Beraz, baten p d erreferentziatutako ari gara, ezta? Batera puntu bat P, beraz, ezagutzen dugun hori 100 aldiz zer izango da? Zer pc puntua egiten Times? Bat puntu. Beraz 100 aldiz 100 10.000 da. Ez du zentzua? Cool. Hasiera tartean, guys, azken errenkadan. OK. Zer ari da aldatzen? Ikaslea: A. IRAKASLEA: A. Perfect, beraz, gainontzekoa berdina zaitezten. OK. Eta zer da? Beraz, aldiz, zer da? Honek izar pb da. Beraz, izar pb esan nahi du hemen pb, pb puntu b. Ikaslea: 500. IRAKASLEA: 500. Beraz, 500 aldiz, 100 izan dugu. Hori da, 50.000. Whew! Begira hori. Ikaslea: Zergatik dugun last-- egiteko c & IRAKASLEA: Barkatu. Ikaslea: Oh, OK. IRAKASLEA: Nire txarra. Idatziz asko. Pertsona orok ona? Ez da oso txarra, ezta? Just hartzen du pixka bat lan egin bitartean. Apurtu behera bada, bakoitzak zer zati ulertzen da erreferentzia gisa zaie dena da, eta, yes-- Apurtu txikia arazoak eta gero birkonbinatu, eta awesome gauza batzuk egin dezakezu. Erantzunak daude, baina hori egin dugu. Erakuslea aritmetika. Ah. Nire eskuak guztiak chalky dira. Beraz gehituz edo kenduz int erakusle doitzen erakuslea mota tamainaren arabera. Gogoratu mota bakoitzean nola tamaina desberdina? Beraz, bikoitza edo luze bat, hau da atsegin zortzi eta int lau da, baina char bat da. Beraz, zer egin nahi duzu is-- gauza bat gogoratu besterik ez da zenbat duten balio erakuslea benetan aldatzen egingo araberakoak erakuslea mota den. Denek honekin ona? Ezin dut ezabatuko? Onak gara? Awesome. Beraz, erakuslea batzuk badugu Egia hau da, joan naiz jolasten int erakusle bat egiteko. Hau gordeko du. Erakuslea esateko bazina plus bat, zer egin egingo da nik eguneratu du int baten tamaina arabera hori delako du erakuslea mota den. C-rekin, dena da oso zorrotza eta arautuan. Int erakusle da by egunera joan leku kopurua int bat hartuko luke. Int bat lau byte da. Beraz, zer egingo zenuke hori aktibatu sartu? Lau honen gainean ari zara gehituz. Orain zure erakuslea OK jolasten litzateke. Beraz, bada, karaktere bat izan zen, eta erakuslea egin dugu plus bat, zer egingo du orain, izango da? Dugu itxurak started-- bada started-- oraintxe da 0x08. Dezagun orain esan, hori izan da char erakuslea, eta bat gehitu ditugu. Zer izango litzateke aldatu behar da? Zenbat byte karaktere bat? IKUSLEEN: Bat. HIZLARIA 1: Bat. IKUSLEEN: 0x09. HIZLARIA: 1 Beraz, bederatzi izango litzateke. Beraz, besterik gabe, zerbait gogoratzeko. Just bat gehitzen duzunean, ez da gehituz char ezean. Gehituz da zenbat motakoa dela byte, eta horregatik daukagu Ekuazio hau, hemen. Tamaina Beraz, int aldiz erakuslea mota horren. Beraz adibidea hemengo irudirik. y zuten balio hori, 0x4 esleitzen, denean y genuen plus berdinen bat. Zer bertan da, zer da x-en, ez da aldatuko. Zer aldaketa ez da zer da y. Y gordetako helbide lau eguneratu lau byte daude int bat delako eta int erakusle bat da. Guztiak eskubidea. Beraz, orain, ariketa bat behar dugu. Beraz, galdera da, zer egingo du inprimatu. Ideia bat? Ikusleak: kopuruak zoriontsu katua pertsonaiak? HIZLARIA: 1 Zehazki. Beraz, zure katea gustatzen. Ez du lortu du guztiek? Ez da ibiltzeko nahi dugu? Bai, OK. Beraz, zer da hemen egin behar dugu I hau askoz gehiago bezala. Ez dut behar [INAUDIBLE] ridiculously. Beraz, gure katea hemen, pozik katu behar dugu. Lovely. Zenbait counter dugu esku jarraipena egiten ari gara. Beraz char * erakuslea batzuk ditugu hori besterik ez da berdina da str ezarri. Zer da hau egiten dela da erakuslea batzuk esleitzea zure katea hasierara. Ziur nago delako, gisa zen hitzaldia aipatu, Nik hau eman dugu you guys datu-mota izeneko katea. Baina benetan kateak besterik ez dira array bat char bezala of-- *. Karaktere sorta bat erakuslea da memoria Alboko dira. Beraz, hori ezartzen du Kate- berdina da non identifikatzen dira bere lehen pertsonaia da. Beraz, hau da, besterik gabe, puntu batzuk ezartzeko katea hasieratik berdina. Guztiek ona dago? Cool. Beraz, hau da gure erakuslea dereferencing da. Beraz, benetan joan balio batzuk ematen dizkigute, hemen, gure kate horri buruz hitz egiten ari gara. Eta betiere, esaten ari gara ez da null amaierako. Beraz, mantendu egingo duzu lortu arte katearen amaieran. Eguneratu erakuslea banan. R Beraz, benetan izango da banan eguneratzeko aldi bakoitzean delako char bat da, char * du. Beraz, bidez joan behar. Honez eguneratu du. Beraz, hau doa, lehen aldiz, nik h hemen izango da. Honez eguneratu du. A bat izango da. A p, y izango da, eta abar eta abar. Counter eguneratu dugu. Noiz amaierara iristean, hura bistaratzen besterik ez noraino ahaztuak. Bai. IKUSLEEN: da zenbatzen espazioa bat bezala, ezta? OK. HIZLARIA: 1 Pentsa beraz. Da question-- bat IKUSLEEN: [INAUDIBLE]. HIZLARIA: 1 Kezkak. Hori egin dut hau. Ondo da, beraz, gauza bat dut Ulertzen sorta batekin, hau da, ere egin dezakezu gisa, begira ezazu erakuslea array besterik ez dira oroimenaren lekuak jarraiak. Beraz, modu berean tratatzeko dezakezu. Haiek manipulatu ahal izango duzu erakusleak, gehiegi. Beraz, lan hau egiteko ordez kasuan, antzeko gauza izango litzateke array 0 funtzioak 1. Baina modu berean kate bat zehaztuko da non hasieratik arabera bere lehen pertsonaia da, array bat zehazten da non bere lehen elementua da. Ezagutzen dugulako, gaude bermatuta, horiek ari jarraia izango da memoria Bloke. Horixe ahalbidetzen hau egin nahi digu. Badakigu etengabea ari dira memoria Bloke. Beraz, kasu honetan, dereferencing arabera array besterik, kontatzen digu, Ados, joan hasieran; Zure array, hori da hemen. Beraz, berdintasunaren bat ezarri ahal izango duzu. Eta, kasu honetan, zure array edozein dela mota da denean eguneratu banan, hori besterik ez eguneratzeko bezala hurrengo indizea da. Egin ahal izango duzu duzula delako Badakizu zer da zure array. Beraz daki zenbat eguneratu zure erakuslea, zer helbidea da, beraz, eguneratzeko zaudela hurrengo zirrikitua at. Beraz, hau, beste modu bat besterik ez da of idazteko array 0 funtzioak 1, array 1 berdin 2, array parentesi 2 berdin 3. Besterik beste pentsatu modu bat da. Etengabeko direlako oroimenez blokeak, horiek bai aipatzeko dezakezu notation-- matrizearen arabera bertan pertsonalki I easier-- aurkitu baina agian manipulatu behar duzu memoria helbideak ek zorrozki. Eta hori horrela egin nahi duzun da. Kind of more bat bezala cool gauza egin ahal izango duzu versus agian ez da zerbait Oraindik benetan ezartzea. Erabiltzen dut 61 urtean. Zaudete seguruenik ez da beharrezkoa kezkatu gehiegi. Baina nahi izanez gero, 61 hurrengo urtean hartu. Oraindik etxean tarte mutilak bizi gara. Badakit, luzea da. Dynamic Memoria Allocation-- beraz, badakigu gauzak hitz egin dugu zehar gure lehen atala elkarrekin, begiratu swap bat dugu funtzioa bertan izan zen Gure eginkizun nagusia jardueratik kanpo. Eta balio horiek ere guk irabaziz gero segituan kopiak eraginkortasunez ziren. Eta swap behin amaitu exekutatzean, pila bat utzi besterik ez da. Gogoratu, dugula bat pilatu swap markoa. Uzten du, eta horiek balioak berarekin utzi. Eta izan ziren joan. Ezin dugu ezer egin haiekin triste zeuden eta guk ezin dugu gure trukatzeko balio duelako. Baina, aipatu dut you C artean erabiltzeko botere asko memoria baino gehiago izan. Beraz, zer egin dezakezu dezakezu Gauzak esleitu hemen zeure gainean horretan bertan geratuko dira arte kontatu bestela. Haur onak bezala ari dira. Bertan geratuko dira. Ez dute utzi. Bertan geratuko egingo dute Oraindik arte bezala, OK, urrun joan ahal izango duzu. Pila gauza hauek kontuan hartuta, who-- bihurria haurrak bezala ari dira. Besterik ez dute ihes egin nahi duzunean han egon eta gero desagertu egin dira. Ezin duzu horiek lortzeko back. Beraz, zeure is-- goaz malloc eta doakoa buruz hitz egiteko, eta horrek Ziur asko guys naiz hitzaldia entzun. Eta hori da, funtsean modu bat Datu oso iraunkorra izatea. Beraz, datuak gorde ahal izango duzu inguruan, betiere, nahi duzun bezala. MHM. IKUSLEEN: Ezin duzu zeure definitu eta pilatu? Horiek lekuetan gauzak jarri nahi? HIZLARIA: 1 Beraz, ari dira funtsean, just ari dira Bide memoria erabilera jorratuz. Beraz zeure besterik ez da, leku memoria dinamikoki esleitu da, pila aipatzen berriz gehiago markoak pilatu zenbat eta gehiago dira erdiko dela benetan exekutatzen ari funtzioak. Ez benetan kontrola daukazu. Aldea handia, zuk kontrolatzen duzu metaren gainean nahi baduzu. Pila gainean kontrol gutxiago daukazu. Pila araberakoa funtzio martxan daudela, eta ordena horretan daude korrika egin, eta gauzak nola itzultzen dira. Zeure, berriz, gisa ikusi dugu, esan dezakezu, Ados, balio hau Izan nahi dut Inguruan esango dut bestela arte. Ez duzu baimenik hura kentzeko. Ez duzu baimenik gainidazteko. Bere inguruan mantentzeko ari zara betiere esango dut gisa. Buruzagia izan zeure lortuko duzu, stack-- agian baduzu, berriz, atsegin finagle zure bidea buruzagia izan dezakezu. Baina ez da nahiko. Eta benetan da bakarrik memoria. Modu besterik desberdina da memoria aipatuz. Cool. Beraz, nola Zure memoria kontrolatzeko. Da malloc, ditu bertan erabili lortzeko ari zaren. Beraz, besterik gabe, laburra da memoria esleipena da. Hori guztia da. Badira beste cool sorta bat da duten esleipenen dute amaieran funtzioak, eta gauza ezberdinak nabarmentzen dute. Beraz, biltegiratze behar duzula behar Zure uneko funtzioa outlast orain zure uneko funtzioa ihes, oraindik datuen duzu duzula bertatik lortu, malloc erabili nahi duzun. Hori Hasieratu egingo zeure gainean. Eta esan bezala eta mantentzeko , esanez han mantentzeko duzu bestela esango duzun arte, eta hori garrantzitsuena da hemen. Beraz, gauza bat, eta nabarituko hori da normalean benetan garrantzitsua, da hori sizeof super erabiltzeko baliagarria motaren arabera delako makina, exekutatzen ari zaren kopuru desberdinak izan ahal izango du ere hartzen du memoria. Beraz, beti hain tamaina erabili nahi duzun Oraindik ez duzula makina menpeko, beraz, zure kodea will Edozein makina exekutatu. Eta hori besterik ez zati kodearen onak idazten. Lan egiten bada makina bat on da, baina ez beste edozein, nola erabilgarria zen zure programa? Beraz, zuk beti nahi ziurtatu eta sizeof erabili. IKUSLEEN: da atsegin duela 10 hazbeteko [INAUDIBLE] tamaina? HIZLARIA 1: 10 ints tamaina da. bai. Beraz ints tamaina itzuliko da int bat zenbat hartu du. Edo char tamaina, nola askoz char take bat egiten du. Eta, ondoren, zenbat bloke Horren nahi duzu? Beraz, kasu honetan, zerbait nahi dugu duela 10 ints gorde ahal izango dugu. Eta kontuan hartu gabe lan egingo du makina, zein da cool. Beraz, zenbat byte izango dela benetan eman nahi duzu? Math azkarra. Ikusleak: 40. HIZLARIA 1: 40. Zehazki. Beraz, beste gauza handia. Pointer edo malloc null itzultzeko. Beraz, berriro ere, beti egiaztatu ikusi null itzuliko bada probatu aurretik eta ezer egin berarekin. Saiatu eta dereference baduzu erakuslea hau orain, besterik ez da segfault joan joan eta saiatu duzulako null ukitzeko orduan ez behar duzu. Beraz, beti null egiaztatzeko. Berriz ere, egin daitekeen guztia. Null itzuliko da agian. Itzuli null duzu Oraindik duzu bai bada espazioa, edo edozein arrazoigatik memoria bug batzuk sartu zuena. Batzuetan besterik null itzultzen. Beraz, besterik ez duzu hura egiaztatzeko. Hori diapositiba hori guztia esaten ari da. Eta gero, zer dugu Hemen dei bat free da. Beraz, modu berean egiten baduzu Fitxategi bat irekitzeko fitxategi batera itxi behar duzu malloc baduzu memoria, zuk memoria hori behar askatzea duzu. Eta zuk guys lortuko Benetan cool gauza egin. Eta han nahi duzu exekutatu daiteke programa bat da ikusi, inoiz zaren memoria leaking. Baina ez duzu nahi memoria Leak. Benetan txarra da. Just nahastea, gauzak. Txarra da bakarrik programazio bezala Diseinu eraginkortasun jakintsua. Baina, era berean, besterik gabe mota zure ordenagailuan txarra. Gauzak Beraz, besterik free denean horiek malloc duzu. Zaudete ikusi simetriak hemen. Super simple. Just free eta gero edozein dela ere zure erakuslea, edozein dela izenean erakuslea da, eta zaindu egingo libre uzten zuretzat. Cool. Ondoren, hau dugu. Beraz, ari gara joan Programa honen bidez oinez. Eta gero, you guys egiten dira. Beraz, [INAUDIBLE] besterik nagusiak. Beraz, int * erakuslea batzuk ditugu. Beraz, erakuslea dugu hori ints eduki behar. Eta zenbat ints da eutsi egingo al du? Just bat. Int baten tamaina. Nahi izanez gero, egiaztatu dugu erakuslea nulua delako Bestela esan, ez ezer egin nahi dugu. Txarra da. Beraz error batzuk out inprimatu dugu memoria, gehienetan itzuli 1, erabiltzen dira you guys gisa. Eta gero, hemen dugu, dugu gure erakuslea dereference. Beraz, horrek esan nahi du gordetzeko goaz Gurekin ematen den lekuan zerbait. Int * erakuslea edo malloc, itzultzen non alde batera ezarri honen helbidea zuretzat memoria. Beraz, funtsean, atsegin baduzu emanez sorta bat pentsatzen auzo batean etxeak jarri nahi duzula Zure altzariak, malloc bezalakoa da OK, lortuko duzu Hiru etxe joan. Eta zuk ematen dio house hiru helbidea. Beraz, eskubide hori gaur egun, hau erakuslea dendetan helbide bat, Zure etxea helbidea gordetzen. * Ptr bitartez, OK, naiz nire etxean dut. Cool. Osokoa batzuk lortu behar dut. Beraz, norbaitek galdetzen ari zaren Emateko altzariak orain. Beraz, int batzuk lortuko duzu. Eta hori jartzen du zure erakuslea non da seinalatuz. Eta gero, grabatuak besterik ez da out, sartu duzun lekuan. Eta berriz, erreferentzia. Beraz, hau da joan gusta honetara jorratu eta zer zegoen ikusi duzu. Cool? Eta gero, jakina, gure erakuslea libre dugu. Ez ahaztu zure erakuslea askatzeko. Ez ahaztu null egiaztatzeko. Ez ahaztu zure erakuslea askatzeko. Gogoratzen duzu, bi gauza egin behar duzu hau, edo gogoratu behar duzu. Bai. IKUSLEEN: [INAUDIBLE] stuff bezala, * char. Zergatik ez dugu inoiz askatzea horiek? HIZLARIA: 1 Hm? IKUSLEEN: Ba kateak bezala horiek? Kateak dira esan duzu besterik ez char * s bezala, ezta? Beraz, zergatik ez, kateak askatu dugu? HIZLARIA 1: ez duzu free baduzu mallocing zaren. IKUSLEEN: Oh, mallocing bazabiltza. HIZLARIA: 1 Beraz, malloc eta doako bi gauza direla beti behar duzu elkarrekin. f, f itxi irekia, bi gauza elkarrekin izan behar duzu. Kasu horietan bietan ere, null egiaztatzeko. Bai. IKUSLEEN: Beraz, doan da besterik beste zerbait egitea ahalbidetzen han gordeko ondoren programa honetan erabili ditu? HIZLARIA: 1 besterik ez da, Esaten Ados, hau egiten ari naiz. Ez duzu behar da mantentzeko zehar. Bestela ordenagailuak besterik ez gustatzen saiatu eta eduki hor. Eta gero can not you exekutatzen memoria gai beranduago sartu. Beti askatzea duelako nahi duzu Zure ordenagailuan kontatzen du Ados, nago oroimenaren spot honekin egin. Izan dezakezu back niretzat, geroago erabiltzeko. Cool? Bai. IKUSLEEN:% d erabili dugu besterik hori atzera bikoitz bat delako datozen, edo zergatik is-- [INAUDIBLE]. IKUSLEEN:% i erabili duzu? HIZLARIA 1:% i erabili ahal izango duzu. Azken minutuan edozein galdera? Anima zaitez. IKUSLEEN: galdera azkar bat besterik ez dut. Beraz ptr aldagaia, that bezala, int * ptr = malloc batera, hori besterik ez esaten da, memoria gordetzeko leku seinalatuz HIZLARIA 1: Egin nahi duzun [INAUDIBLE]? Ikusleak: --that da tamaina of-- ez, perfektua da. Baina, besterik ez da leku bat seinalatuz memoria hori besterik lau byte bezala. HIZLARIA: 1 Eskuin. Beraz, malloc tamaina int dio, Ados, naiz korrika joan behar dut, byteko memoria aurkituko duzu. Noiz aurkitzen ditu lau duela bite memoria da, ematen helbidea back duzu Hor hasten da, eta zer gordetzen da erakuslea, edo ptr batean. Good. Zaudete itxura gehien bezain nahasiak jendeak hitz erakuslea buruz I, beraz, nahiko ondo sentitu naiz oraintxe. Guztiak eskubidea. Beti bezala, you guys guztiak izan behar Ahaztuak zure pset2 kalifikazio orain. Badakit han wonky batzuk Gauzak non esaten, formula ez du balio edo zerbait. Zara jasotzen ari bazara, hori guztia Zure kalifikazio nire aldean baliogarriak dira. Beraz, bada, bidal dezaket Zure kalifikazio pantaila. Just let me know baita bazaude Bat kalifikazio edo zerbait falta ez dirudi zentzurik. Me etorri. Nik super harro Zaudete dagoeneko, beraz, mantentzeko sortu. Eta zure astean gainerako ona izan. Ziur nago batzuk ikusiko dut duzu bulego orduetan.