Professur: Allura l-aġenda għal din il-ġimgħa, ma Jittieħed li ħafna. Iżda nisperaw ħafna, utli ħafna u rilevanti għal inti guys din il-ġimgħa. Iżda aħna qed tmur biex jonfqu forsi 15, 20 minuta biss malajr jitkellem dwar il-lista link. Listi Link ser tkun koperta fuq il-kwizz. Allura forsi ikun utli ħafna biex jitgħallmu ftit dwar dak li hu. Aħna ser jqattgħu l-kbira maġġoranza tat-taqsima tal-lum għaddej matul problemi prattiċi kwizz żero. U allura aħna ser tiffranka forsi 20, 30 minuta fl-aħħar għal xi mistoqsijiet wieqaf xi ħadd ikollu. U mbagħad, l-aħħar ħames minuti, jien ser li tagħti pompa up diskors għall-kwizz. Inti guys kollha jridu jkun hawn għal dan. Minħabba li għaddej biex jkun żmien tajjeb. Kull dritt, hekk xi materjal fuq il-lista link. Kif dawn qed tipikament strutturat huwa għandek dak li sejjaħ node, right? Inti għandek dawn l-affarijiet imsejħa lymph, li huma structs. I ser imorru fuq kif toħloq node fil-slide li jmiss. Iżda essenzjalment kollha marbuta listi hija hija data li ġie midmum flimkien permezz pointers. U għalhekk l-vantaġġ li għandna ta tintuża lista marbuta fuq, forsi, bħal firxa, huwa l-fatt li fil-firxa għandek bżonn blokka waħda kontigwa ta memorja kollha fl-istess post, wieħed wara l-oħra, biex ikunu jistgħu jkollhom dik. Billi lista marbuta, inti tista jkollhom bits ftit każwali ta 'memorja kollha fuq il-kompjuter tiegħek midmum flimkien mill pointers. U b'dan il-mod inti jista aċċess għall-informazzjoni li jiġi wieħed wara l- oħra, wara l-oħra mingħajr il-bżonn biss blokki kbar ta ' memorja fil-kompjuter tiegħek x'imkien. U għalhekk dan huwa wieħed mill-kbar raġunijiet għaliex nużaw lista link. It-tieni nett, huwa faċli ħafna li dinamikament resize-lista link għaliex fil-firxa, meta inti tiddikjara firxa, għandek ċertu valur stabbilit. Ejja ngħidu I riedu joħolqu firxa ta '10 interi. I joħolqu firxa ta '10 interi, u thats it. Huwa 10. I do not know x'għandek tagħmel wara dik. Jekk jien ridt li jagħmilha 11, ma tistax tagħmel dan. Jekk irrid biex għamilhom 9, ma tistax tagħmel dan. Billi f'lista link, tista 'żżid u iħassru u daħħal fejn trid. Tista dinamiku resize tiegħek istruttura hawn, l-istruttura tad-data tiegħek. U li jagħtina ħafna aktar flessibilità miżjuda li aħna ma tipikament jkollhom ma arrays. Kulħadd konfuż fuq il-bażiċi istruttura ta 'kif lista rabta hija jew għaliex irridu nużaw wieħed fuq firxa? Yeah, aħna ser jmorru fuq fid-dettall kif fil-fatt toħloq waħda. Iżda din hija biss tip ta ' l-sens ġenerali dritt issa. Kessaħ. U hekk arrays huma midmum flimkien ta 'dawn l-affarijiet ftit sabiħ imsejħa lymph. Kollha node huwa huwa tip ta 'Struct. Ftakar, Struct hija jekk int riedu biex joħolqu ċertu tip ta 'varjabbli fis-C li ma jkunx diġà jeżistu, inti, bħala programmer, tista 'attwalment joħolqu dak yourself. U għalhekk dan it-tip ta 'data istruttura tissejjaħ node, ikun attwalment ġie maħluq minna, li ma teżistix fil C waħdu. U l-mod li inti toħloq waħda hija li għandek l-header tal Istituzzjonjijiet typedef, li jirrakkonta l-kumpilatur jien waslet biex joħolqu Istituzzjonjijiet. Aħna isem tmur it "node." U aħna qed tmur ġewwa li tiddikjara varjabbli, li se taħżen valur. U allura aħna qed wkoll ser jkunu a pointer imsejħa "li jmiss" li l-punti għall-ieħor node fil-lista link. U allura inti finitura li off bi ftit tirrepeti node ġdid hekk l-kumpilatur jaf, OK dak l-aħħar ta 'Istituzzjonjijiet tiegħi. U hekk b'dan il-mod, aħna qed tip tal-ħolqien ta array ftit ħelu tip ta 'ħaġa ma' valur u bil-pointer. U inti tista 'rabta lilhom kollha flimkien ma 'dawk pointers. Sabiex ikunu jistgħu f'kull tip tkun midmum flimkien katina. Kessaħ. Inti tista 'tisma li daqsxejn aħjar? UDJENZA: Yeah. Professur: Kull dritt. Allura l-mod li, inti guys tista 'tara, lista link tipiku huwa strutturat hija għandek ras. Inti għandek l-valur ras li ma jkunx li għandu jiġi osservat minn xi pointer oħra. Imma li għaddej għall-punt fil- jew referenza, node ieħor. Il-punt strateġiku wara se referenza l- node wara li, u hekk u ibqa 'sejjer hekk sakemm inti eventwalment hit l-aħħar tal-lista link tiegħek. U inti biss mhux se jkollhom pointer hemmhekk. U għalhekk, taħseb bħal, fuq katina, jew saħansitra jekk kwalunkwe inti guys magħmula, I do not know, bħal ma loops Frott meta inti kienu ftit. Inti lilhom string flimkien u jilbsuhom madwar għonq tiegħek. Think huwa l-istess ħaġa eżatt. Inti għandek dawn l-affarijiet ftit li inti tista string flimkien dak il-punt li wieħed wara dan, li dik ta 'wara dan, u hekk u ibqa 'sejjer hekk sakemm ikollok katina ta 'struttura data li tista 'tuża madankollu li tixtieq. Allura l-mod li dan nixtiequ tipikament daħħal jew tħassar kwalunkwe node minn rabta lista hija differenti ħafna skond fejn dak node huwa. Għalhekk, per eżempju, minħabba pointers huma dejjem tipponta lejn valur speċifiku, meta inti tħassar jew daħħal node, inti tixtieq li tagħmel ċert li l-pointer hija kollha li tipponta lejn l-affarijiet dritt. Mela jekk int riedu potenzjalment daħħal node ġdid mal-valur ta 'wieħed ġewwa link Issortjat lista, nafu lkoll hawn mill-istampa li għaddej biex jmorru fl bejn ras u tnejn, id-dritt? Għaliex wieħed joqgħod hemm dritt. Iżda l-mod li bih aħna se nagħmlu dak huwa billi l-ewwel dereferencing il-pointer minn ras u jibgħat dak li wieħed. Iżda aħna jidħlu fis ta 'problema hawn. Jista 'xi ħadd jara x'inhi l-problema hija jekk konna l-ewwel dereference il pointer minn ras għal wieħed? Liema problema tista we run fis jekk nippruvaw li żżid din il-quddiem ta 'firxa tagħna? UDJENZA: [inaudible] Professur: Eżattament. Allura hawnhekk għandna pointer li kienet ladarba tipponta mill-kap għal tnejn. Imma jekk inti teħles minn dik pointer, inti punt hija wieħed, issa għandna ebda idea fejn imorru biex isibu tnejn. Għaliex kif għidt qabel, inti ħadthom ltqajna blokki ġgant tal-memorja fil-kompjuter tiegħek. Kollha dawn in-nodi jista jiġu b'intervall saltwarjament fi kwalunkwe post fil-kompjuter tiegħek. U inti ma tafx kif għanddu konstatazzjoni dan. U għalhekk inti jeħtieġ li jkollhom pointers tipponta lejn lymph kollha fl-aħħar. Jew inkella jekk inti aċċidentalment dereference wieħed mingħajr ma assenjament valur-ewwel, int biss ser jitilfu kollox wara. Allura dak li aħna qed tmur biex tagħmel hu, inti l-ewwel jixtiequ joħolqu pointer fuq l node inti tixtieq li daħħal. Punt lill fejn inti tixtieq li daħħal lill- u mbagħad wara inti jista 'punt ras lura għal wieħed. Does li jagħmel sens għal kulħadd hawn? Great. Jaħsbu li bħala bħad katina. Jekk inti żid katina, huwa tip ta 'intuwittivi kif youd tmur dwar ddaħħal dan. OK, b'tali mod li huwa fil-fatt ħafna iqsar milli ħsibt li jkun, a spiel ħames minuti fuq il-listi rabta. Just hekk inti guys jkollhom l- idea bażika ta 'dak li hu. Hawnhekk għandna l-aġenda għall-kwizz żero. Tħallix dan jintimidaw inti. Naf huwa ħafna ta 'informazzjoni. Huwa jistenna ħafna scary. Huwa wkoll ħafna ta ', I think, CSC tip ta 'termini. Affarijiet simili kordi hexadeċimali, pointers, allokazzjonijiet memorja dinamika huma termini rokits ħafna scary. Iżda aħna qed tmur biex taqsamhom isfel, jagħmlu xi problemi prattika sabiex inti guys kollha huma lesti għal dan it-test. Kemm inti guys jkollhom diġà bdejt nistudja? OK, inti guys probabilment jridu biex tibda jkollna beda fuq li, minħabba l-kwizz huwa għada. Jew il-Ħamis għal xi wħud minnkom. Yeah, hekk aħna qed tmur biex tmur fuq xi problemi prattiċi. Jekk inti guys kollha jridu jieħdu barra folja tal-karta, lapes. Aħna ser biss jonfqu l- maġġoranza vasta tat-taqsima tal-lum għaddej matul parti minn dan hekk inti guys idea ta 'dak li jistennew fuq il-kwizz. KOLLOX SEW. Koppja ta 'loġistika dettalji kif ukoll, għal xi ħadd li ma kienx biex din ir-rabta hemmhekk, jekk inti tmur cs50.yale.edu, fuq il-front din il-paġna hemm rabta li tgħid "About Quiz Zero." Link tieħdok hemm. Jekk int ma taqra dan, jekk jogħġbok aqra dan. Minħabba li jgħidlek verament importanti informazzjoni dwar l-kwizz. Jien ser tiġbed dan out mill li sempliċiment għaliex, fiżikament, jekk inti guys ma tafx fejn li jmorru, se jkollna problemi. U hekk jekk aħħar tiegħek f'termini ma ' sa N, mur l-awditorju iskola liġi. U jekk aħħar jibda tiegħek ma P sa Z, mur Davies Awditorju. U dan japplika biss għall nies fit-taqsima l-Erbgħa. Jekk inti qed tieħu l-kwizz fuq Il-Ħamis, inti mur SSS 114 fejn lecture tiegħek tipikament huwa. UDJENZA: [inaudible] Professur: O sa Z, int ser biex tmur fil-sala Davies. Jien se jibdlu dan, id-dritt? Oh, yeah, inti biss tonqos awtomatikament. Oh yeah, dan huwa inti Christa. Yeah, bad tiegħi. Yep, O sa Z, int ser biex tmur Davies Auditorim. Jien ser jiffissaw dan darba I upload. Yeah. U allura wkoll xi ħaġa importanti f'moħħna hija li l-Erbgħa, jekk inti uffiċjalment rreġistrati fit-taqsima l-Erbgħa, inti trid tieħu kwizz tiegħek nhar l-Erbgħa. U jekk int rreġistrati fl Ħamis inti trid tieħu kwizz tiegħek Ħamis. U huwa matul il-ħin klassi. Fejn, naħseb li huwa simili 01:00 sa 02:15 nhar ta 'Erbgħa u 2:30-03:45 nhar ta 'Ħamis. Jekk għandek kunflitti irrikonċiljabbli, Skużi Dekan huma l-unika ħaġa, sfortunatament, nistgħu nieħdu. Għaliex aħna kellhom maġġoranza kbira tat-talbiet biex jaqilbu minn l-Erbgħa sal-Ħamis. Li ma nistgħux unur sakemm għandna talba ta 'Dekan. KOLLOX SEW. Allura qabel we tibda fuq Koppja mill-problemi prattika, Jien biss se jmorru fuq Tips utli Andy għas-suċċess. You guys, meta inti tistudja, inti tassew tixtieq li prattika kitba kodiċi bl-idejn. L-ewwel darba I qatt ħa kwizz CS, I ma kinux prattika kitba kodiċi bl-idejn qabel u kien estremament xokkanti fil kemm kien diffiċli. Meta inti guys ma tikseb fis- vizzju ta 'ittajpjar kollox, niġu ħafna naturali li jkunu jistgħu jkunu autocompleted parentesi u semicolons hemmhekk. Meta inti tikteb dan jitwettaq bl-idejn, xi kultant huwa ħafna, faċli ħafna li tinsa b'semicolon, jew tinsa li tagħlaq parentesi, jew tinsa li tagħlaq kolon, jew xi ħaġa bħal dik. Allura meta inti tikteb kodiċi bl-idejn, huwa jħossu differenti ħafna. Allura inti guys, meta inti qed jaħdmu permezz xi wħud mill-problemi prattika, ikun tajjeb li verament prattika llum. Jew għada, I suppose, jekk int tieħu l-kwizz nhar il-Ħamis. It-tieni, aħna għandna l-aħħar, bħal, jiswew tmien snin ta 'prattika kwizzijiet online. Kwizz din is-sena probabbilment se jkunu ħafna, simili ħafna għal kull wieħed minnhom. Huma qed kollha simili ħafna. Inti tip ta 'tikseb fis- istil tat-tip ta 'mistoqsijiet li aħna nistaqsu, it-tip ta ' funzjonijiet li aħna ser jiktbu fil, eċċetera, eċċetera. Sabiex jieħdu l kwizzijiet prattika, speċjalment fi żmien ristrett. 75 minuta biex tagħmel l-kwizz huwa mhux ħafna ammont ta 'ħin. Huwa ħafna, twil ħafna. U għalhekk inti guys verament jixtiequ biex tiżgura li inti guys huma fil-drawwa tal-kitba kodiċi bl-idejn malajr. Għaliex inti ma tridx l-ewwel ħin biex tara kwizz ta 'dak it-tul tkun fuq kwizz tiegħek. You guys verament tixtieq li tagħmel ċert li inti prattika qabel. Ir-Raba ', inti tixtieq li tirrevedi l- lecture u taqsima slides. Inti ma għandekx memorize affarijiet. Attwalment, kulħadd huwa permess folja waħda ta 'noti karta bajda, quddiem u lura. You guys tista tip jew jiktbu. Jekk issib ruħek li jeħtieġu li jimmemorizza xejn, tpoġġi l-isfel fuq dak sheet. I garanzija li inti, inti ma tridx li ikunu mwaħħla fin-nofs ta 'dak kwizz qed simili, oh yeah, x'inhu l- runtime ta 'dan it-tip versus dik it-tip. Just poġġih isfel u jibagħtu kopja tagħha dritta mill folja nota tiegħek. Imbagħad inti tista 'attwalment biss tuża tiegħek moħħ biex jaħsbu dwar il-problemi aktar milli jkollhom recall fatti. U hekk vera jittieħed vantaġġ ta 'kwalunkwe dettalji niċċa li taħseb li għandek bżonn li jimmemorizza, plop isfel fuq il-folja ta 'reviżjoni. OK, xi mistoqsijiet loġistikament dwar l-kwizz qabel nibdew xi problemi kwizz prattika? Yeah? UDJENZA: I ma kellhomx iċ-ċans li tħares lejn l-kwizz [inaudible] iżda huwa se jkun applikazzjoni aktar, Jew hemm ukoll se tkun, simili, mistoqsijiet għarfien? Professur: Huwa ħafna. Għalhekk, il-mod li I kieku deskritti l-kwizz is-- I jitpoġġew flimkien xi problemi prattika I jinġibed minn kull-kwiżż. Imma inti taf tara li hemm żewġ prinċipali tipi ta 'mistoqsijiet aħna ser jgħidlek. Wieħed huwa dettall livell baxx ħafna ta 'għalf. Aħna ser jagħtuk blokki żgħar ta 'kodiċi u jgħidu, hemm żball hawn? Dak li jkun istampar hawn? X'se dan il-kodiċi tipproduċi, eċċetera. Allura dettalji ta 'informazzjoni f'livell baxx ħafna. U fuq in-naħa flip, aħna ser ikollhom ħafna mistoqsijiet bbażati fuq l-għarfien ta 'livell għoli. Tista 'tispjega dak l- differenza bejn tfittxija binarja u tfittxija lineari hu? Għaliex kieku rridu użu wieħed fuq l-ieħor? Forsi, dak li huwa GDB? Għaliex irridu li jużaw GDB? Livell ogħla, aktar fundamentali fehim mistoqsijiet. Sabiex tkun taf tara taħlita ta ' l-tnejn minnhom fuq kwizz tiegħek. Xi ħaġa oħra qabel we ras straight fis dan? KOLLOX SEW. UDJENZA: Wieħed aktar. Professur: Oh, wieħed aktar. Jiddispjacini. UDJENZA: Yeah, dan kollu dritt. Allura inti qed tgħid 75 minuta huwa qasir wisq, simili huwa improbabbli li aħna se jispiċċaw? Jew, bħal, fil-75 minuta huwa eżattament daqshekk ħin kif ikollna kieku konna ppreparat b'mod xieraq? Professur: OK, so il kwizz huwa sfida. Huwa ċertament sfida. Inti ser issib ruħek fuq żmien qasir. Inti probabbilment ser jintlaqtu, bħall 10, 15 minuta biex imorru, u li jkunu simili, shit. Għandi tant baqa 'tagħmel. U li totalment multa. Kulħadd se jħossu l-istess mod. Just ikunu konxji ħafna ta ' kemm żmien għandek. U hekk hu għalhekk I jgħidlek guys jagħmlu l-kwiżż prattika. Minħabba li verament jagħti sens kbir ta 'dak l-kwizz se tkun simili. Mela jekk issib ruħek qed jistgħu lest il-prattika kwizzijiet fi ammont tajjeb ta ' ħin, inti tista 'pass lilek innifsek sew, allura inti mhux se jkollhom problema l-Erbgħa u l-Ħamis. Kessaħ. Mela jekk kulħadd wants-- naħseb ħafna nies ikollhom folji tal-karta out diġà. Jien ser essenzjalment biss jagħtuk mistoqsijiet kampjun, jagħtuk guys, bħal, a ftit minuti biex jagħmlu lilhom. U aħna ser jmorru fuq bħala klassi dak l-tweġibiet għalihom huma. Allura dan huwa tipiku ħafna kwistjoni kmieni aħna ser nitolbuk, just konverżjoni numri bejn bażijiet differenti. Binarju, kif inti guys tista recall, hija bażi tnejn. Deċimali hija bażi 10, jew dak li aħna bħala bnedmin tipikament tinterpreta. Hexadeċimali huwa bażi 16, li huwa żero permezz ta 'disa kif ukoll A permezz F. Allura hemm erba 'numri jien inti titlob guys li jikkonvertu hawn. I ser jagħtuk tixtieq, tlieta sa erba 'minuti biex jaħsbu permezz ta' kif aħna tmur dwar isolvi din. UDJENZA: Are we permess kalkolaturi? Professur: Inti mhux se bżonn kalkolaturi, yeah. Naħseb minn hekk bażiku, I think, huwa kollha inti guys se jkunu mitluba li jagħmlu. U biss so I tip ta jkollhom sens tal meta kulħadd isir, tfittex up, mewġa, I do not know, daħka, ħarsa kuntenti jekk inti qed isir. Yeah. Forsi ftit aktar minuti. OK, ejja iġġibu. Jien apposta ser jagħtik guys inqas ħin milli inti probabilment ikollok bżonn li jagħmlu xi wħud minn dawn il-problemi, sempliċement għaliex nixtieq li jagħmlu ċert li irridu jiksbu permezz mazz ta 'problemi. Sabiex l-ebda inkwiet jekk inti ma jkollhom ċans biex jintemm. Totalment OK sakemm ikollok idea ta 'kif imorru dwar dan. Mela ejja imorru quddiem u jagħmlu l-ewwel waħda. Allura l-ewwel, ħadd ma jridu tell me fil binarju, liema do kull waħda minn dawn ċifri jirrappreżentaw f'termini ta 'valuri tagħhom? Yeah? UDJENZA: Tnejn sa l- enerġija żero, 2-1. Professur: Eżattament. So. Dritt, hekk tipikament meta nkunu fil-bażi 10 dawn kollha jirrappreżentaw huma, bħal, 10 għall-bażi ta 'żero, id-dritt? C'est post tiegħek. Kollha post 10 ta tiegħek hija hija 10 għall-qawwa ta 'wieħed. Post inti 100 huwa 10 għall-qawwa ta 'tnejn. Tkun xi bażi int fil va x'jaqsmu ma 'l-istess ħaġa eżatt, biss b'bażi ​​differenti. Allura binarju, dak kollu li hu huwa bażi tnejn. Inti qed tmur biex jikkonvertu l- ċifri f'żewġ għal dak kollu enerġija ta 'dak ċifri. U hekk f'dan is-sens, aħna jista 'jkollhom mod faċli li jkunu kapaċi li jżidu jew Fil-qosor l-numri sabiex li jikkonvertu bażi ta '10. Allura ħadd ma jridu tell me dak li l- risposta għall-ewwel waħda hija fil-bażi għaxar? UDJENZA: Żewġ, [inaudible] Professur: Yeah. UDJENZA: 42. Professur: 42, hemm inti tmur. Allura l-mod kif aħna ltqajna din it-tweġiba kienet minn tagħmel tnejn l-ewwel, li huwa tnejn. Plus tnejn t-tielet, li huwa tmienja. Plus tnejn għall-ħames, li huwa dak kollu li huwa fadal. Inti qosor lilhom up u huwa 42. Hija ħadd konfuż dwar kif sirna li? Barra minn hekk Allura bażiku, bħal I said, inti għandek tkun OK. Jekk le, ukoll, nistgħu prattika li wisq. Imma li kollox id-dritt. Kessaħ. Hawn xi ħadd li tixtieq li tagħti me l- risposta għat-tieni waħda kif ukoll? 50? Tajba. Kulħadd konfuż dwar kif sirna li jew? Kessaħ, I ser ikollhom l- tweġibiet dwar il-pjastra jmiss. Sabiex l-ebda inkwiet jekk inti bżonn li kopja l-isfel. OK, so hexadeċimali huwa daqsxejn delikati. imma jien ser nuruk guys shortcut għall kif jagħmlu dan. Allura hexadeċimali, kif inti ftakar, kollox huwa jkun 16. U għaliex aħna bħala bnedmin ma attwalment jkollhom 16-numri li jirrappreżentaw li, immorru minn żero għal disgħa, li l-ewwel tagħna 10 valuri, u mbagħad nagħmlu A permezz F, li huma s-sitt valuri li ġejjin. U għalhekk l-eħfef mod biex imorru minn kwalunkwe numru binarju għal hexadeċimali huwa li taqsamhom up fis nofsijiet. U sabiex kwalunkwe numru binarju aħna ser jagħtuk inti probabilment se jkollhom tmien ċifri. Tista 'biss break minnhom fin-nofs. Allura l-ewwel one-- waħda waħda, wieħed wieħed, wieħed, wieħed, wieħed wieħed. Tip ta 'think it up, inti taf, tfassal slash jew comma bejniethom. U inti tista 'sempliċement jikkonvertu direttament x'ikun dan huwa li l-ewwel numru ta 'hexadeċimali, u tkun xi tkun hawnhekk huwa li it-tieni ta 'hexadeċimali. Mela ftakar minn notazzjoni komuni, liema do valuri hexadeċimali tibda bil? UDJENZA: Zero. Professur: 0X. Allura aħna nafu li kull darba aħna nitolbuk li jikkonvertu kwalunkwe numru lil hexadeċimali, jew kwalunkwe ħin li inti tara xi numru li jibda bil 0X, inti taf li huwa valur hexadecimal. U allura int ser tkun mitluba li jiddeterminaw liema dawn iż-żewġ ċifri huma. U l-mod inti tagħmel dan, tikkettjar up li nofs u tikkettjar up li nofs. Allura f'dan l-eżempju, dak kieku wieħed, wieħed, wieħed, wieħed ikun? Liema valur li kieku jkun? Li d tkun F, right? Li d jkun 15. Għalhekk dan ikun F. One, waħda, wieħed, wieħed hawn huwa wkoll F. Allura wieħed, wieħed, wieħed, wieħed, wieħed, wieħed, wieħed, wieħed f'hexadecimal, kollox huwa huwa 0XFF. Minħabba Din it-taqsima rappreżentati F, il-valur ta '15, u Din it-taqsima rappreżentati F, il-valur 15. Minħabba ftakar, aħna qed għadd minn żero sa disgħa. A huwa simili 10, B huwa simili 11, F hija l-15. Does li jagħmel sens għal kulħadd kif sirna minn binarja li hexadeċimali? UDJENZA: U hekk kif ma nikbru 15 minn dik, wieħed, wieħed, wieħed? Professur: Yeah, dan huwa binarju, id-dritt? Immaġina din hija biss numru binarju. Allura għandek żewġ għad- 0, li huwa wieħed. UDJENZA: Oh, OK. Allura inti biss totali out. Professur: Yeah, u mbagħad inti biss totali li l-. Li kollox huwa. UDJENZA: OK. Professur: OK. UDJENZA: Allura inti tmur minn binarja li deċimali biex hexadeċimali? Professur: Dik hija l- eħfef mod biex isir hekk, yeah. Int mhux ser deċimali minħabba deċimali biss għandha żero għal disa. Aħna biss tip ta ' qsim dan up fil tnejn. UDJENZA: [inaudible] użu deċimali biex isibu dak li logħbiet sa f'hexadecimal. Professur: I mean, int tikkettjar bl-użu matematika bażika. UDJENZA: Yeah. Professur: Yeah, pretty ħafna. Huwa daqsxejn konfużjoni. Iżda biss taf li inti tista 'taqsam up x'ikun dan il-valur huwa fis biss nofsijiet. Ħares, dak li huwa dan fil binarju? Liema numru huwa li? Li għaddej biex tkun xi ħaġa minn żero sa F. Hawnhekk huwa wkoll se tkun xi ħaġa minn żero sa F. U allura inti tista 'biss jitqiegħed dawn iż-żewġ hemm dritt. UDJENZA: OK. Professur: Yep. KOLLOX SEW. Allura inti guys tixtieq li jippruvaw dak li jmiss allura? Żero, wieħed, żero wieħed, wieħed, żero, wieħed zero. I ser jagħtuk guys simili 30 sekonda, peress li inti probabilment ma kinux jafu l-trick li kif għandek tagħmel dan qabel. OK, kull min jixtiequ li tikseb xi sparatura dan wieħed? 0X5A. Professur: 0X5A. 5a. Tajba. Allura dan hawnhekk be-- inti tixtieq biex tgħidilna kif inti ltqajna dan? L-ewwel, kif ma ikollok l ħamsa? UDJENZA: Minħabba żero, wieħed, żero, wieħed huwa ħamsa. Professur: Does kulħadd jifhem għaliex żero, wieħed, żero, wieħed huwa ħamsa? You ħadthom ltqajna wieħed hawn. Inti għandek xejn f'żewġ għall-ewwel. F'żewġ għat-tieni, inti jkollhom waħda, li hija erba '. Allura inti żid l-erba plus l-waħda, inti għandek ħamsa. Kulħadd tajba? KOLLOX SEW. U allura dak li din tkun u għaliex? Liema numru ma A jikkorrispondi għall? UDJENZA: 10. Professur: U dak li dan fil-bażi tnejn? UDJENZA: [inaudible] Professur: Eżattament. Allura dan it-tieni valur hawnhekk ikunu 0X5A. Kulħadd tajba dwar kif jikkonvertu? Huwa ħafna aktar sempliċi milli taħseb li hu. I biss jixtiequ jagħmlu ċert inti taf tips utli u tricks dwar kif għandek tagħmel dan. UDJENZA: Għaliex jista inti biss maqsuma huwa fin-nofs bħal dik? Just tkun simili, OK, jien biss ser jimpurtahom dawn l-ewwel [inaudible]? Professur: Għaliex dan huwa effettivament il- Mod valuri hexadecimal huma rappreżentati. 0X, li effettivament tfisser xejn għajr tghidlek li huwa numru hexadeċimali. U dan dejjem jirrappreżenta l-ewwel erba 'numri. U dan dejjem jirrappreżenta l-aħħar erba 'numri. U hekk dawn iż-żewġ ċifri biss jikkorrispondu għal bits differenti. UDJENZA: Allura aħna se always-- Professur: Inti dejjem se tikseb tmien bits valur. UDJENZA: Hija li bħad ħaġa hawn jew li xi ħaġa madwar? Professur: Li jinsab biss ħaġa fil-kompjuters, Yep. UDJENZA: OK. Tal-biża. Professur: Ukoll, hekk f'dan l-eżempju aħna konvertiti minn binarja li deċimali, u minn binarja li hexadeċimali. Inti guys tixtieq li tagħmel żgur li int ukoll prattika li jmorru l-mod ieħor madwar. Mela jekk jien ħadt 0XFF, inti tista tiġbed li fl binarju, id-dritt? Inti jikkonvertu F fis binarju, li hija waħda, wieħed, wieħed, wieħed, jikkonvertu F li binarju, li hija waħda, wieħed, wieħed, wieħed. Allura aħna jista 'jgħidlek biex tagħmel il-mod ieħor madwar. Allura deċimali lil binarju, jew hexadeċimali għall binarja. Allura inti tixtieq li tagħmel żgur li int taf żewġ modi. Aħna ser probabbilment nistaqsik kombinazzjoni tat-tnejn. Yeah, inti għandek xi mistoqsija? I tista see-- int tajba? UDJENZA: Yeah. Professur: OK. Am I tajba biex iħassar din? Great. Kull dritt, hekk tweġibiet are here jekk xi ħadd Huwa kurjuż aktar tard u titħawwad. KOLLOX SEW. UDJENZA: Ma jimpurtax jekk npoġġux ittri tagħna fl Capitol jew zghar? Professur: Hija ma, għaliex f'hexadecimal, b'konvenzjoni, l-karattri huma uppercase. Allura A permezz F huma se tkun uppercase. Jekk inti tpoġġi lowercase a, I do not know jekk aħna neċessarjament jimmarkaw hija żbaljata. Iżda teoretikament, li mhux teknikament kif int suppost biex dan. Allura dawn għandhom kollha jkunu uppercase. Yeah, mistoqsija tajba. KOLLOX SEW. Tieni domanda. Ikkunsidra dan il-programm sabiħ hawn. I ser jistaqsu l-mistoqsija, I ser jiġu lura dan. Allura, l-ewwelnett, x'hemm ġewwa ta 'standard io.h li l-ta 'interess għall-programm? It-tieni nett, dak li ma vojt turi konformi tliet? U t-tielet, dak ma jirritornaw żero mill prinċipali, kif line sitt, ġeneralment turi? Jekk inti guys tixtieq li jiktbu dawk isfel, peress li jien jkollhom jaqilbu lura mal-pjastra biss sabiex inti tista 'tara kodiċi. Dan huwa eżempju ta ', bħal, forsi kwistjoni f'livell ogħla fejn aħna nitolbuk liema affarijiet jfissru fi programm. Kulħadd tajba għalija li mur lura għall-slide? OK, berred. So I ser jagħtuk guys simili forsi tlieta minuti biex tħares lejn din malajr wieħed reali. OK, sabiex dan tal wieħed simili pjuttost faċli, kunċettwalment. Hawn xi ħadd li tixtieq li tell me x'hemm ewwel ġewwa mill hash inkluż fajl standard tagħna librerija io.h? Għaliex għandna bżonn li librerija inkluża għal dan il-programm? What hawn għandna bżonn għall? Yeah? UDJENZA: Hija li meta inti tpoġġi li printf? Professur: Eżattament. Allura printf, kwalunkwe ħin li inti jieħdu input mill-utent u tistampa xi ħaġa għall-iskrin, li l-input standard, output librerija. Jaħsbu li dan way-- input, output. Do I jkollhom output? Iva, I do. So I jafu li jien dejjem se bżonn l-librerija i.o standardizzati. Allura printf hija l-funzjoni li bih nistgħu bżonn l-aċċess u hashtag jinkludu l librerija standard i.o. KOLLOX SEW. It-tieni nett, huwa dak ma nulli jfissru? Għandna l-int prinċipali (vojt), dak ma null hawn jfissirx hawn fuq il-linja tliet? Yeah, fid-dahar. UDJENZA: [inaudible] Professur: Eżattament. Mela ftakar, aħna stajt tgħallmu tibda bil pset tagħna li inti tista 'attwalment speċifika l-linja ta 'kmand argumenti dak il-programm tiegħek, li inti , il-funzjoni prinċipali jieħu kif inti, l-utent, sejħa tiegħu. Jekk ikollna null, dan ifisser li inti tista 'biss tmexxi l-programm direttament mingħajr ebda argument linja tal-kmand. Kulħadd ċara dwar dan? KOLLOX SEW. U fl-aħħar għaliex għandna jolqot tagħmel din il-ħaġa ritorn żero hawn? Għalfejn nagħmlu anke jkollhom ewlenija int? Għaliex ma nistgħu biss għandhom null prinċipali null? Yeah? UDJENZA: Just sabiex inkunu nistgħu kun żgur li l-programm huwa joħorġu b'suċċess, kif kuntrarju jekk kien nnumerati. U aħna se nafu li dan huwa tip differenti ta 'żball. Professur: Yeah, eżattament. Dan huwa biss ħafna Ħaġa konvenzjonali li nagħmlu, li huwa biss fl-aħħar tal programm tiegħek, biss biex tiżgura dik il-funzjoni prinċipali tiegħek qed taħdem b'mod korrett, aħna dejjem trid tagħmel ritorn żero. Anki jekk aħna jista neċessarjament ma tara dak stampat kullimkien. Għaliex kif programmaturi, inti taf, jekk inti għandek ħafna linji differenti ta 'kodiċi u ma tafx fejn dawn huma tmur ħażina, u jekk l-iżball iseħħ inti tixtieq li kun żgur li inti tikseb dan l-iżball. U hekk tipikament jekk xi ħaġa tmur ħażin aħna ser ikollhom ritorn ta 'wieħed biss biex niżguraw li jafu li huwa. Mela jekk inti tara ritorn żero, li tipikament ifisser programm tiegħek huwa rnexxew. Tajba? Kessaħ. OK, it-tieni programm hawn. Ikkunsidra dan. U jekk inti guys tara float, inti guys tista 'probabbilment jkollhom idea tajba ta 'dak Li jien ser jgħidlek. Allura meta dan il-programm tesegwixxi, kif tistgħu taraw, I am tiddikjara float ġewwa funzjoni prinċipali tiegħi. Jien tismija "twieġeb," u jien iffissar li egwali għal wieħed maqsum f'10. Jien istampar jagħmilhom, biex wieħed punt deċimali, dak float. U allura jien jirritornaw żero. Allura meta jwettqu l-programm, think lura għall greedy issa, dan il-programm stampi 0.0. Kif nafu lkoll, wieħed jittama aħna kollha jafu, wieħed maqsum f'10 mhix 0.00, huwa 0.1. Iżda jispjega għaliex dan il-programm jaħseb li 1 diviż bil 10 prints għal 0.1 oħra minn 0.1? I ser jagħtuk guys forsi bħal 30 sekondi għal ftit malajr jaħsbu dwar dak u I ser imorru lura għall-programm. KOLLOX SEW. Kull min jixtiequ li jagħtuh xi sparatura? Fi tliet sentenzi jew inqas, għaliex tipikament aħna qed ser jirrestrinġu tweġibiet kollha tliet sentenzi jew inqas sabiex inti ma biss regurgitate affarijiet bl-addoċċ għal fuq kwizz tiegħek. Yeah, tieħu xi sparatura. UDJENZA: Allura naħseb li hemm dan ħaġa imsejħa, bħal, [inaudible] Allura jista 'jkun hemm, per eżempju, jista 'jkun hemm, bħal, 0.09, li fejn tistampa l-ewwel ċifri, ikun li 0.0? Professur: Agħlaq, pjuttost mhux. Christabell? UDJENZA: Inti diviż wieħed u 10, u dawn qed kemm interi. U għalhekk l-mod li għaddej biex jaħżnuh huwa integer. U għalhekk l-eqreb numru sħiħ tkun 0.0. U hekk dan huwa 0.1. Professur: Yeah, dan huwa verament tajba. Dik hija t-tweġiba ġusta. Allura dan huwa konfużjoni ħafna kunċett għal lott tal-gidjien. U jien verament jixtiequ jagħmlu ċert li Dan huwa msaħħaħ fir-ras ta 'kulħadd. Allura dak li nsejħu f'wiċċ l-ilma punt impreċiżjoni, fejn ir-raġuni għaliex ħafna ta 'programmi tiegħek fil greedy ma ħadmux inizjalment kien minħabba li inti nesa li jitfa varjabbli tiegħek. Allura dak Christabell qal hija korretta. A float huwa intrinsikament impreċiż. Minħabba fil-kompjuter, id-dritt, għandna ammont finit ta 'bits ta' memorja nistgħu nużaw biex jirrappreżentaw numri. Għalhekk, per eżempju, dan CS50 ID is-- Naħseb li huwa kompjuter 64-bit. A float jistax jiġi rappreżentat biss b'ammont finit ta 'dawk bits. U hekk 0.1 b'żero infinita, li kienet 0.1 huwa, right? Iżda ma nistgħux attwalment jaħżnu dak in-numru fil-kompjuter tagħna. Aħna biss ma jkollhomx memorja biżżejjed biex jagħmlu dan. U għalhekk l-eqreb approssimazzjoni tal x'hemm maħżuna fil-memorja huwa attwalment xi ħaġa simili 0.000 xi ħaġa, xi ħaġa, xi ħaġa, xi ħaġa. Li, ladarba inti truncate dan, rawnds isfel għal 0.0. U għalhekk dan l-eżempju huwa biss wieħed li turi lottijiet ta 'kwistjonijiet għandna kull meta aħna qed tipprova tagħmel ħażin matematika mingħajr ikkastjar bħala numru sħiħ differenti. Hekk biss tkun attenta li dan jiġri. Fuq kwizzijiet, jekk aħna nagħtuk blokk ta 'kodiċi u huwa simili, dak prints fl-aħħar? U jekk huwa xi valur każwali għalik guys għandhom ikunu jafu għaliex dan jiġri. Yeah? UDJENZA: truncate huwa teħles minn kollox wara ċertu punt? [Inaudible] Professur: Yeah, hekk fil-fatt dan huwa eżempju tassew ħżiena, minħabba 0.100 x'ikun attwalment ikun truncate isfel sa 0.1. Imma jekk ġejt biex imexxu it-- I ma ftakar, minħabba aħħar sena li dam fuq programm differenti. Huma dam fil xi ħaġa imsejħa il Appliance CS50, li huwa differenti mill-ID. Li kienet sistema 32-bit, I think. U hekk kien hemm numri differenti. Iżda essenzjalment, biss jafu li il-kunċett sħiħ ta truncation u kif hija biss qatgħat off affarijiet. U għalhekk jekk rounds-- UDJENZA: Mingħajr arrotondament. Professur: Eżattament. Yeah. Kessaħ. Hi, fid-dahar. Aħna biss jmorru fuq xi mistoqsijiet reviżjoni kwizz. Kull dritt. Għalhekk tikkunsidra programm differenti hawn. Jien ser jagħtuk guys a ftit minuti biex taqra fuq dan. Din hija xi ħaġa li kienet għal ħafna reċentement li naħseb nefaħ ħafna minnkom imħuħ guys taċ. Iżda aħna qed tmur biex jitkellmu permezz ta 'dan mill-ġdid biss biex tagħmel żgur li int jifhmu kompletament. KOLLOX SEW. KOLLOX SEW. Kulħadd jeħtieġ aktar żmien biex tinqara permezz din il-kodiċi? KOLLOX SEW. Għalhekk jidhirli li f'dan il-programm jien ħolqien ta 'żewġ kordi bl-użu GetString. Wieħed imsejħa s u wieħed imsejjaħ t. U jekk dawn qed ugwali ugwali ma 'xulxin, għandu jistampa "You tip l-istess ħaġa. " Iżda elsewise, ikun jistampa, "You ittajpjat affarijiet differenti, "id-dritt? Tidher ħafna, sempliċi ħafna. Iżda, madankollu, jekk I attwalment tipprova tikteb dan il-programm, jidher li anke meta I input l-istess kordi eżatt, xorta prints out, "You ittajpjat affarijiet differenti! " Hawn xi ħadd li tixtieq li tieħu shot lejn għaliex dan il-programm dejjem twieġeb li l-inputs huma differenti, anki meta l-kliem stess huma l-istess? Mela jekk jien kellhom input-- David imħabba tuża eżempju bħal mom, id-dritt? Zghar M-O-M għall S, T ugwali zghar M-O-M. Jekk I dam dan permezz dan il-kodiċi, għaliex kieku dan jistampa "inti ittajpjat affarijiet differenti?" Hawn xi ħadd bżonn aktar ħin biex jaħsbu dwar dan? OK, I think we qed tajba. Yeah? UDJENZA: OK, dan huwa xi ħaġa dwar fejn huwa maħżun fil-memorja, right? Professur: Yep. UDJENZA: Fejn huwa simili, jekk dan string s hija maħżuna fil-memorja spot-- Jien invenzjoni this-- huwa żero. Professur: Sure. UDJENZA: U t string hija maħżuna fil-post tal-memorja, bħal, 167, u mbagħad żero ma tkunx daqs 167. Professur: Eżattament. OK, sabiex tiftakar dan inkredibbli rivelazzjoni aħna spjegat lilek guys din il-ġimgħa passat, li ma tassew jeżistu kordi? Meta aħna joħolqu xi ħaġa imsejħa string aħna qed, fir-realtà, joħolqu xi ħaġa imsejħa star char. Li kollox huwa huwa pointer li string jew għal firxa ta 'Chars. U hekk f'dan l-eżempju, jekk I kellhom input M-O-M-triq li l-kompjuter tiegħi taħżen huwa fi ħdan memorja backslash żero, id-dritt? Dawn l-erba karattri, Chars, tkun maħżuna x'imkien. U mbagħad dawn l-erba karattri, backslash żero, huma maħżuna x'imkien ieħor, id-dritt? Għandi l-ebda idea fejn l-indirizzi huma, dawn qed x'imkien fil-kompjuter tiegħi. Imma jien ma jafu eżattament fejn huma. Meta I joħolqu string i, dak kollu li verament huwa huwa pointer għall- bidu ta 'din is-sekwenza. U meta I joħolqu dan il-valur t, dak kollu li huwa pointer li hawn. U hekk meta inti qed tipprova li jqabblu u jivverifika biex tara jekk i huwa ugwali ugwali ta 't, il-kompjuter huwa verament ftit jirritornaw lejn inti l-indirizz ta 'dan m u l-indirizz ta 'dak m. U għaliex qed żewġ biċċiet separati ta 'data li huma reġistrati f'żewġ differenti indirizzi fil-kompjuter tiegħek, kompjuter tiegħek qatt se jagħrfu lilhom bħala l-istess. Hawn xi ħadd li tixtieq li jagħtu xi sparatura fil dak li aħna għandek tagħmel jekk ridna biex jikkoreġu dan u jkollhom programm running korretta minflok? Aħseb dwar li għal ftit sekondi. What do we bżonn għall-bidla għall jiksbu dan it-tħaddim programm il-mod irridu li jiffunzjona? Yeah, tixtieq li tieħu stab lejn dan? UDJENZA: Nistgħu nippruvaw dereference l pointer u jivverifika permezz tal-firxa? Professur: Li mod wieħed biex tagħmel dan. Allura, x'hemm isem tiegħek mill-ġdid? Jien sorry, ifakkru lili. Zee: Zee. Professur: Yeah, iva, liema Zee ssuġġerit assolutament jaħdmu. Dritt? Nistgħu dereference l pointer u fil-fatt imorru u aċċess id-dejta fiżika ġewwa minn hawn. U nistgħu biss iqabbel l-iskrin kollu. Nistgħu ngħidu, OK, pointer, tagħti me x'hemm ġewwa hawn. Dan se jerġa 'lura għal m. U jien ngħid, pointer, tagħti me x'hemm ġewwa hawn. Ritorn ta 'm. Do dawk match? Iva. Imbagħad nimxu fuq. Inżommu iċċekkjar it-tnejn kollu kordi it-triq kollha sa l-aħħar u ara jekk dawn huma ugwali, jekk il-valuri kollha huma ugwali. U jekk il-valuri kollha huma ugwali, allura nafu l-kordi huma veri. Assolutament, li kif aħna se tagħmel dan? Ħadd ma konfuż fuq xi parti minn dan? Il-kunċett sħiħ ta 'kif kordi huma verament ftit pointers, u kif dawn ma tassew jeżistu? U għaliex irridu jiksbu l-iżbalji bħall-mod kif aħna ġġibu? Minħabba I garanzija li inti guys, pointers u l-allokazzjoni string u l-memorja huma se toħroġ. Yeah? UDJENZA: [inaudible] dereference dan, inti biss jitqiegħed stilla [inaudible] Professur: Dritt. Allura biex derererence pointer mezz tmur f'dak indirizz tal-pointer u jiksbu d-data, il-valur hemmhekk. U l-mod biex isir dan huwa pointer star. Ma jħawdux dan. UDJENZA: [inaudible]. Professur: Yeah. UDJENZA: Allura inti tista 'tikteb biss jekk star s indaqs t ugwali star. Professur: Well, no. No UDJENZA: Li mhux tajjeb biżżejjed, id-dritt? Professur: Mhuwiex, għax int biss verifika tal-ewwel ittra. Int probabilment se bżonn xi tip ta 'linja li itenni permezz ta 'kull wieħed karattru fiż-żewġ kordi. Yeah. Mela jekk inti riedu jiċċekkjaw biss biex tara jekk huma bdew bl-istess ħaġa, inti tista 'tagħmel jekk, star i huwa ugwali għal star t. Imbagħad inti taf li talanqas dawn beda bl-istess karattru. Yeah? UDJENZA: Allura l-mod inti li tkun bħal inkorporati għal loop jew pointer? Professur: Yeah. Pretty ħafna biss għall loop. Ftakar, David fil-klassi imsemmi iz-zokkor sintattika ħielsa? U kellu din ħafna ħaġa konfuża ta stilla t plus wieħed, fejn ikun tintegra permezz u jimxu l-pointer? Il-mod ta 'kif isir aktar faċli dan huwa biss t ta 'i. Allura huwa biss firxa. Il-mod li inti jkollok għal loop li dam minn żero għal i, fejn i huwa t-tul tal- spag, inti tista 'biss jikteb li minflok tagħmel l- pointer kollu, ħaġa referenza. Allura dawn affarijiet huma eżattament ekwivalenti fil-kompjuter tiegħek. You guys probabbilment mhux se bżonn tkun taf li, iżda dan huwa tajjeb li biss tip ta ' jkollhom fil-dahar moħħok. Biss jafu li l-kompjuter jirrikonoxxi blokki differenti ta 'kodiċi bħala l-istess ħaġa. Minħabba li dan huwa biss ferm aktar utent faċli għalina biex jippreżentawha simili huwa firxa. Huwa biss aktar faċli. UDJENZA: Allura l-użu strlen biex simili, get-- Professur: Yeah. UDJENZA: OK. Professur: Inti tista użu strlen jew, jekk inti ma kellhomx strlen inti tista 'biss tagħmel up sakemm inti hit backslash żero għat-tnejn. Jew tkun taħdem. Yeah. UDJENZA: Allura huwa li dereference kull karattru uniku jekk konna attwalment miktub dan il-kodiċi, aħna tista 'biss tagħmel t parentesi i Bħal ma 'l-istilla quddiem ta' dan? Professur: Yeah, huwa daqs huwa daqs i parentesi i, u imbagħad żomm jiċċaqalqu i down up sakemm inti hit l-aħħar. Yeah, dan huwa dak li inti tagħmel. U jien ser fil-fatt ikollhom jmiss Eżempju ta 'meta aħna fil-fatt jiktbu strlen hekk inti guys se tip tal nikseb jilagħbu madwar miegħu ftit. Allura huwa kulħadd ċar fuq biss memorja, kordi, pointers, indirizzi kwalità? Xi kunċetti livell ogħla li inti għall żgur se ħtieġa li jkunu jafu dwar il-kwizz għada. Kull dritt. Tajba. Yep. OK, hekk ħaġa waħda li aħna ser jitolbu wkoll inti, kif nagħmlu kull sena fuq kwizz, huwa, jissoponi li inti stajt minsija (li aħna jidhru li tinsa li tagħmel kull sena) li fihom fajl header strlen jiġi ddikjarat. U hekk aħna li jikteb dan nfusna. Hawnhekk huma lista ta 'linji gwida li nistgħu preżenti inti guys fejn ikollok li wieħed jassumi li i l-sekwenza mhux se jkun null. Inti jista 'jassumi li s se jkun terminat bil backslash żero. Allura inti taf dak hu li li għaddej biex jispiċċa bil. U, per eżempju, li l- tul ta 'bonjour tkun ħamsa. Allura inti tista 'tassumi li bonjour se jkun ta 'ħamsa, H-E-L-L-O. Inti ma għandekx li wieħed jassumi li l- backside żero kontijiet għat-tul. Dan l-aħħar ħaġa hawn, ma inkwetati dwar overflow numru sħiħ. Hawn xi ħadd ftakar overflow dak integer huwa? UDJENZA: Tmur lil hinn mill- tul tal-[inaudible]. Professur: Yeah, tista 'tispjega a bit, xi jfisser? UDJENZA: Allura, I raden din tmur lura mal-eżempju truncating qabel. Imma jekk għandek biss numri tant li jmorru lil hinn mill-għadd ta 'bits li inti tista 'attwalment tassenja din li se biss tip ta 'cut off. Professur: Yeah, hekk fuq tipiku kompjuter, kemm bits għandna? UDJENZA: 32? Professur: Yeah, 32, id-dritt. U hekk dan huwa, dak, erba biljun, żewġ biljun? Erba 'biljun, sa erba' biljun interi pożittivi, id-dritt? Żewġ biljun negattiv, żewġ biljun pożittiv, jiddependi fuq kif inti tixtieq li tagħmel dan. U hekk bażikament li jista 'jkollna interi biżżejjed li tista 'tmur up għal tnejn mal-31 minus 1, id-dritt? Minħabba li ladarba aħna hit żewġ l-32, aħna ma jkollu dik memorja ħafna fil-kompjuter tagħna. U għalhekk, teoretikament, I tista 'toħroġ ma' numru jiġifieri, simili, tnejn għall-46. Huwa numru enormi ħmar, iżda teoretikament inti tista '. U overflow hekk integer huwa jekk inti tipprova toħloq numru sħiħ li tmur lil hinn minn dak li kompjuter tiegħek huwa kapaċi li jaħżen. U għalhekk inti guys għall dan l-eżempju ma jkollhomx joqogħdu jinkwetaw dwar us giving you a giant sekwenza li hija darbtejn għal l Chars 32 twil. Dan ikun ifisser verament. Kull dritt, hekk jien biss se jagħtu inti guys l-istruttura bażi ta 'dan. Inti qed tmur biex jinħoloq funzjoni msejħa int strlen fejn a jgħaddu fi, stilla char, jew spag, pointer għall-sekwenza imsejħa s. Kopja dritt kollox, kulħadd li isfel. Kessaħ. Oops-- mod ieħor. Allura dan huwa tip simili ta ' biċċa diffiċli ta 'problema, so I ser jagħtuk guys forsi ħamsa sa sitt minuti biex tip ta 'brainstorm u jiktbu din il-funzjoni out. UDJENZA: Aħna ma kont għal [inaudible], aħna ma jkollhom jużaw numru sħiħ? Professur: Le, inti ma. I ser jagħtuk guys ħjiel. A loop filwaqt li jista 'jkun utli ħafna hawn. Yeah. Hawn kandju. Kandju se jkunu disponibbli wkoll għall-kwizz, I think. Allura inti guys se jkunu kollha sugared up għada. Jista I-- inti ltqajna. UDJENZA: OK. Professur: Yeah. Forsi 30 sekonda aktar jew hekk. Kull dritt, jekk int ma jsirx, l-ebda inkwiet. Aħna ser jimxu permezz ta 'dan flimkien. KOLLOX SEW. Hekk jien ser biss il-format il- istruttura bażika għal din il-funzjoni hawnhekk. Int strlen. L-ewwel, ma kull min jixtiequ li tgħid me dak li int ifisser? Għandna bżonn li jkollhom fil din il-funzjoni. UDJENZA: Strlen [inaudible]. Professur: Eżattament. Sabiex ikun x'ikun jiġri fil hawn, għandna bżonn li jirritornaw numru sħiħ. U kif speċifikat fil- spec, irridu li return-- Mur għaliha guys, biss iżommu għaddejjin. Dan kollu tajjeb. Kul dan kollu so I ma jkollhom li tieħu lura, fil-fatt. L-int biss ifisser li int ser jiġi lura numru sħiħ. X'inhu dan char star s? Xi tfisser? UDJENZA: Simili, dak li qed input. Professur: Eżattament. U dak huwa kważi l- istess ħaġa bħat star char? UDJENZA: String? Professur: Eżattament. Allura kollox aħna qed tagħmel huwa li jagħti din pointer għal string. KOLLOX SEW. Kessaħ. Ukoll, ma ninsewx, jekk ninsew li jtik dawn parentesi, ma ninsewx li tikteb yourself. Minħabba teoretikament, kodiċi tiegħek huwa żbaljata jekk tinsa jiktbu għalihom. Just dejjem tingħata attenzjoni. Bħal, affarijiet ftit li inti ma avviż meta int programmazzjoni fuq laptop tiegħek, minħabba laptop tiegħek ma għalik? Tinsiex meta int bil-miktub bl-idejn. Yeah? UDJENZA: Imma kif żbaljata? Bħal, se nilħqu l-problema kollha ħażina? Professur: No, no. Tinkwetax. Huwa fil-fatt teoretikament possibbli għalik biex tikseb punti sħiħa dwar kwistjoni anke jekk il-kodiċi tiegħek se qatt ma spiċċawlhiex fil-ħajja reali. Nissuġġerixxi inti ma tippruvax biex naraw li dan iseħħ. Per eżempju, bħal jekk kollox thats hawn huwa dritt, imma tinsa kolon jew parentesi, kodiċi tiegħek mhux se tmexxi effettivament. Iżda inkunu ħniena. Yeah? UDJENZA: Għandek biex jikkummentaw dwar kalligrafija tagħna? Professur: No, no, no inkwiet dwar dik. Nru kummenti. Style għandha tkun tajba. Simili, ma Smush kollox fuq linja waħda. Aħna mhux se jkunu kuntenti miegħek jekk inti tagħmel dan. Hawn xi ħadd li tixtieq li agħtini l-ewwel linja? Ħjiel, huwa faċli ħafna. Yeah? UDJENZA: Int, n ugwali żero. Just twaqqaf counter. Professur: Allura rridu xi tip ta 'kontro, right? Jien biss se isem "għadd" għall-fini ta leġibbiltà. What do irridu nistabbilixxu dan ugwali għal? UDJENZA: Zero. Professur: Yep. Virgola. Huwa wkoll semicolons tpinġija stramb ħafna. Just prattika tagħmel dan. Allura irridu li l-ewwel ikollhom kontro tat int tip. Għaliex irridu li għadd up kif karattri ħafna jew ittri huma f'dan string, id-dritt? Ewwel pass faċli ħafna. OK, forsi daqsxejn aktar kumplessa issa, kif aħna se tagħmel dan? Hawn xi ħadd li tixtieq li agħtini l-linja tal-kodiċi li tista 'tkun kapaċi tgħin lill loop permezz ta 'kwalunkwe din hija? Yeah, ruħ brave fid-dahar? UDJENZA: OK, hekk waqt punt asterisks, il-istilla yeah ta 's, mhuwiex ugwali għal żero, allura jagħmel xi ħaġa? Professur: Li tassew, tassew qrib. Verament qrib. Hekk jien ser tindirizza żewġ affarijiet ma 'dak. L-ewwelnett, mhuwiex eżattament żero. X'inhu dan? Hu l-terminatur null, li huwa backslash żero. Allura jkunu differenti fil f'termini ta 'kif dawn qed jinħażnu. Allura int verament qrib. U t-tieni, ma rridux biss jċaqalqu l-pointer. Aħna rridu li attwalment aċċess għall-valuri, id-dritt? U hekk kif nistgħu nagħmlu dan? Faċli ħafna. Ma naħsbux dwar pointers, ma naħsbux dwar memorji. Mur lura għall ġimgħatejn ta 'dan il-kors. UDJENZA: [inaudible]. Professur: Mill-, tiftakar? X'inhuma kordi? Kif huma maħżuna fil-memorja? UDJENZA: Huma qed jiżdied. Professur: domandi qed isiru. Allura kif nistgħu aċċess kull karattru ġewwa? UDJENZA: [inaudible]. Professur: Eżattament. Allura while-- dak li jmur ġewwa hawn? S tal - UDJENZA: I. Professur: Oh, i ma jeżistix, ma? UDJENZA: Oh, l-għadd? Professur: Nistgħu biss użu għadd, ma tistax we? UDJENZA: Jiddispjacini, I sejħitilha i. Professur: Yeah, dan kollu tajjeb. Għandna varjabbli up here li l- diġà ġew iddikjarati bħala kontro tagħna. Allura għaliex ma aħna biss użu li biex jimxu permezz tal-linja waqt? Does li jagħmel sens? Għalhekk, filwaqt li s ta count-- ma kull min jixtiequ li tagħti me dak li jiġri wara hawn? UDJENZA: Ma ugwali. Professur: Ma ugwali, id-dritt? Huwa l-bang ugwali, punt exclamation ugwali, tkun xi tkun guys tixtieq li sejħa hija ma equal-- UDJENZA: [inaudible]. Professur: Yeah. Ftakar kwotazzjoni waħda hija għal char, kwotazzjonijiet doppja huma għal string. Ikunu attenti meta jużawhom. Allura meta aħna qed tfittex permezz l-array, l-aħħar karattru, nafu aħna ma rridux li jkun backslash żero. Allura waqt. Aħna mhux fl-aħħar tas-sekwenza. What do rridu nagħmlu minn ġewwa? UDJENZA: Irridu li żżid mal- counter u għalhekk jgħodd plus plus? Professur: Eżattament. Allura hawnhekk aħna qed tmur biex tagħmel għadd, għadd plus plus. Nieqsa linja waħda aktar. Aħna kważi hemm. Liema huma aħna jinsa li tagħmel? UDJENZA: Jirritornaw żero? Professur: Inti tixtieq li jirritornaw żero? UDJENZA: Le, jirritornaw lejn strlen. Stenna. Professur: Liema hija maħżuna fil-? UDJENZA: Count. Count. Professur: Eżattament. Allura hawnhekk aħna qed tmur biex jirritornaw għadd. Minħabba dak li aħna qed tagħmel hawn ultimately-- għandna varjabbli counter li l- ser inkrement permezz string tagħna. Aħna qed tmur biex jibqgħu għaddejjin, iżommu għaddejjin, madwar u madwar f'dan loop. U filwaqt li aħna mhux qed fuq it-tmiem ta 'dan spag, li hija l-terminatur null. U kull darba immorru permezz dan, aħna qed żżid li jużaw tagħna. U aħna qed tmur aktar flimkien f'dan array. U fl-aħħar, ladarba aħna laqat il-terminatur null, nafu, oh, nistgħu break, jirritorna l-għadd. Għandna strlen tagħna. Ma kulħadd nikseb kif dan kien implimentat? Filwaqt loops-- Naf aħna ma isir wisq magħhom, iżda dawn qed normalment ħafna, utli ħafna jekk inti ma nafx dak li qed waqfien kundizzjoni neċessarjament għandu jkun. Mistoqsija? UDJENZA: Nistgħu tikteb null fuq il-kondizzjoni filwaqt? Professur: Filwaqt? Yeah, hekk din il-problema kelli inti guys jassumi li s mhux se jkun null. Minħabba ftakar, teoretikament, jekk jiena ħadt a pointer li kien tant kbir ta 'memorja, dan jagħti inti l-null, id-dritt? Dak hu l-funzjonament sistema ser jagħmlu. Mela jekk jien ma jgħidlek li wieħed jassumi s kienu jkunu nulli, ikollok bżonn li jiċċekkja. Allura up hawn, inti se tagħmel, jekk s ugwali ugwali null, ritorn wieħed. Xi haga hekk. UDJENZA: [inaudible] żero. Professur: OK, I ser jgħidlek inti għaliex aħna ma tistax tagħmel dan. Minħabba ftakar fil-memorja, lemin, hawn. Aħna ser imorru hawn. You ħadthom ltqajna blokki ġgant tal-memorja kollu ma grids li taħżen valuri differenti, id-dritt? U għalhekk kull string is-- għall eżempju, jekk irridu li l-input hello, ikun H-E-L-L-O backslash żero, id-dritt? U mbagħad li jaf, bħal każwali affarijiet li huma fil hawn wara. Aħna ma attwalment jafu x'hemm hemmhekk. U hekk jekk ġejt biex tagħmel minflok backslash żero, null, jista 'ma jkunx null. Minħabba li biss tista 'tfisser xi affarijiet oħra bl-addoċċ li ma jappartjenux fil string tiegħek. U għalhekk l-mod li aħna dejjem nafu li string truf huwa ma 'backslash żero. U hekk dan huwa kif aħna dejjem tikkontrolla biex tara l-aħħar ta 'sekwenza. Null, dak kollu li mezzi huwa jekk għandek pointer ineżistenti, qabel kollox, jew jekk memorja tiegħek huwa biss hekk kbir li inti ma tista 'tibagħtu lura, allura d jkun null. Sabiex ikunu attenti ħafna meta ssir differenza id-differenza bejn null u l-backslash żero. Yeah. Kulhadd OK ma 'dan? KOLLOX SEW. So I kellha inti guys jiktbu strlen. Possibbilment nistgħu wkoll titlob tikteb out A sa I, ftakar li "Atwoa" jew kwalunkwe inti guys tixtieq li hija sejħa? Dik il-funzjoni fil Vigenere u Caesar, li tikkonverti valur ASCII għal integer? Li wkoll għandha toħroġ fuq kwizzijiet passat tal-funzjonijiet konna mitluba li inti tikteb. Pretty ħafna xi funzjoni li inti stajt użat u hija faċli ħafna li tikteb lilek innifsek, sensors simili huwa iktar baxx, huwa fuq, biex ibaxxu, li fuq. Funzjonijiet li jikkonverti string minn zghar li uppercase. Aħna lkoll nafu kif għandek tagħmel dan, id-dritt? Huwa pjuttost faċli. Biss jixtiequ jagħmlu ċert li inti can-- huwa l-istess proċess tal-ħsieb. Inti biss jtenni permezz u iddawwar l-affarijiet. Inti jew għadd jew meta iddawwar affarijiet differenti. Nixtieq suggest-- I ma nafx jekk aħna qed tmur li jistaqsuk li jimmemorizza dak kapital A jew Z kapital, jew zghar A jew zghar z huma ASCII, imma nissuġġerixxi forsi miktub li fil-każ li nagħmlu. Just hekk inti guys jkollhom referenza. Like uppercase A hija, dak li, 197? U allura zghar huwa simili 50 xi ħaġa. 65, yeah, hemm inti tmur. Hekk biss pretty ħafna jafu l- differenza bejniethom hija 32. Li pretty importanti. Yeah. Am I tajba fuq dan? KOLLOX SEW. UDJENZA: Nistgħu teoretikament jikteb xi minn dawn l isfel kif ukoll fuq little-- tagħna Professur: You teoretikament tista 'biss kopja tal-funzjoni isfel. Veru. UDJENZA: Mhux [inaudible]. Professur: You guys ikollhom folja. Inti guys folja nota. Tista 'tip fiha. Tista 'tikteb. Tista 'tagħmel dak kollu li tixtieq magħha. Yeah. Allura teoretikament, jekk inti tixtieq li, tmur għall. UDJENZA: [inaudible] iżda aħna ma verament neċessarjament bżonn li wieħed jiftakar il-valur, nistgħu biss jużaw il-li fuq jew li funzjonali iżjed baxx, id-dritt? Professur: Yeah. Imma jekk aħna taw inti xi mistoqsija li tgħid jikteb lill fuq, allura għandek bżonn biex tiktibha. Allura inti guys tista 'tassumi li inti guys jkollhom aċċess għall-funzjonijiet kollha, imma jekk inti tixtieq li tuża biex fuq jew li inqas, dak li għandek ukoll tagħmel? UDJENZA: [inaudible] użu CS50 [inaudible] Professur: Huwa CS50.h? Oqgħod attent hemmhekk. Allura biex fuq, biex ibaxxu, huwa fuq, hija aktar baxxa, funzjonijiet li jinvolvu manipulazzjoni string huma kollha fi ħdan jew l ascii jew fil-librerija matematika jew fil-librerija sekwenza. Mela jekk inti guys jużaw dawk funzjonijiet, ikunu attenti biex tiftakar li jinkludi dak header. Allura forsi wkoll xi ħaġa inti tixtieq li tinkludi fil-karta tiegħek, liema huma l-header? X'inhuma l-libreriji inti kont qed tuża? Liema funzjonijiet huma ġewwa dawk libreriji? Huwa importanti. Yeah? UDJENZA: Jista aħna biss COP out u jagħmlu hashtag permezz tal-assolutament kull ittra konna qatt jidhru simili fuq il-mistoqsijiet? Professur: Inti tista. I do not know kif kuntenti aħna qed tmur biex tkun għall-grad li kwizz meta kull biċċa tal-kodiċi huwa darbtejn sakemm jeħtieġ li jkun. I do not know, nistgħu tluq punt għall-istil. Iżda teoretikament tiegħek kodiċi ikun ġust. You guys tista COP out u biss jinkludu kollox. Li l-multa wisq, yeah. UDJENZA: [inaudible]. Professur: Yeah. Nissuġġerixxi ma tagħmel dan għalkemm. Yeah. UDJENZA: Kessaħ. Professur: Tajba kwistjoni. UDJENZA: Allura, l-agħar każ. Professur: L-agħar każ. Jekk inti totalment tinsa, inti tista 'tagħmel dan. Yeah. Yep, kodiċi huwa hemm dritt. I użati n minflok għadd imma, int jafu, tkun xi tkun sufruni dgħajsa tiegħek. UDJENZA: Stenna, hekk aħna ma jkollhomx hashtag jinkludu għaliex aħna qed li jibda mid-int? Professur: Yeah, I biss jassumi li konna mitluba biex jiktbu l-funzjoni. Jekk inti ried li jkun sikur, inti probabbilment tista 'tqiegħed hemmhekk. Imma I biss ma jolqot, yeah. I lanqas biss jafu jekk inti bżonn xi librerija għal dan. Għax int ma verament istampar xejn barra jew xejn, id-dritt? Yeah, I do not know jekk għandek bżonn librerija. KOLLOX SEW. Dan huwa wkoll daqsxejn aktar flimkien il-linji ta 'manipulazzjoni memorja. Dan it-tip ta 'kemmxejn delikata. Aħseb dwar dan. Inti għandek funzjoni msejħa funzjonijiet. I setgħet imsemmija hija tkun xi tkun, imma I jagħżlu li isem li bih funzjonijiet. I jkollhom dan hawn fuq prinċipali tiegħi. Ftakar, inti tixtieq li jkollok funzjoni wara ewlenija tiegħek, inti tixtieq li tagħmel żgur li int jinkludu l-prototip tal-quċċata. Iżda f'dan il-każ kienet daqshekk qasir I felt I tista 'biss tinkludih atop l-prinċipali. I ma kellhomx bżonn li jkollhom l-prototip, għaliex dan huwa diġà bil-miktub aktar 'il fuq. Allura kull nagħmel fil-funzjoni prinċipali tiegħi qed toħloq numru sħiħ x ugwali għal 10. Jien ssejjaħ il-funzjoni funzjonijiet tiegħi, u mbagħad istampar up xi ħaġa. U allura li attwalment dak funzjonijiet qed tagħmel. Inti guys tixtieq li jaħsbu permezz ta 'dan. Għaliex dan huwa daqsxejn delikata. Huwa ħafna, ferm delikata, fil-fatt. Jaħsbu permezz dak li dan programm ikun outputting. I ser jagħtuk guys żewġ minuti. Diskussjonijiet Tajba? UDJENZA: Yeah. Professur: Yeah. Kull dritt, għalhekk dan huwa delikata għal raġuni. U dan huwa għaliex I riedu dan għall-attenzjoni ta 'kulħadd. Hawn xi ħadd li tixtieq li tagħti me suġġeriment, tentattiv? X'għandu dan jistampa? Totalment multa jekk int żbaljat. Yeah? UDJENZA: Naħseb li huwa 100 u imbagħad 10 fuq żewġ linji separati. Professur: U 10? Ħadd ma jkollu xi guesses oħra? Yeah? UDJENZA: Forsi biss 10 minħabba funzjonijiet mhix jirritornaw xejn? Professur: OK, hekk aħna jkollhom raden numru wieħed huwa dak in-numru raden tnejn huwa biss ser jistampa 10. Ħadd ma jkollu xi guesses oħra? KOLLOX SEW. Mela ejja jimxu permezz ta 'dan, id-dritt? Kull meta inti tikseb biċċa ta 'kodiċi, ma biss tħares lejn din u jkun simili, ah, dan huwa Jittieħed tant! Jien hekk konfuż! Bħal, kalm lilek innifsek isfel. Biss jafu li inti tista 'biss tfittex permezz-kodiċi linja b'linja. Li kollox huwa. Huwa simili qari ktieb. Allura ma 'kull funzjoni, aħna dejjem tibda fil prinċipali. Allura aħna qed tmur biex tibda fil null prinċipali int, anke l-programm ta diġà jinżlu, id-dritt? Ibda fl fl null prinċipali. Int x ugwali għal 10. So I m ser iħassar din. Jien ser tiġbed l-memorja biss sabiex inti guys tista tip ta 'tara x'inhu jiġri. Ftakar stabbiliti hawn għandna munzell tagħna? Up hawnhekk għandna tagħna borġ x'imkien up here. Munzell jikbru, id-dritt? U fil-munzell, inti għandek l mains jiffunzjonaw kif ukoll kollha ta 'varjabbli lokali mains. Allura hawnhekk, int x indaqs għall-10. Fi ħdan funzjoni ewlenija tagħna aħna qed ħolqien ta 'varjabbli imsejjaħ x. Aħna qed jistabbilixxu li daqs 10. Hawnhekk inti stajt ltqajna xi x, u int stabbilita din ugwali għal 10, id-dritt, fi ħdan prinċipali. Kulħadd tajba? Funzjoni. Allura issa, ġewwa prinċipali tagħna funzjoni, aħna qed ssejjaħ il-funzjoni konna bil-miktub aktar 'il fuq. Allura aħna qed issa jidħol it-tieni funzjoni. Aħna qed tmur biex joħolqu ieħor int varjabbli x hija ugwali għal 100. Dak li qed jiġri hawn fuq il-munzell? X'jiġri meta inti sejħa funzjoni li toħloq varjabbli ġodda? X'jiġri hawn fuq il-munzell? UDJENZA: [inaudible] piles fuq nett? Professur: Yeah. Allura fil-fatt joħloq kopja. U tip ta 'munzelli fuq nett. Aħsbu fil-stack-- 'ċumnija ta 'kotba, munzell ta' xejn. Munzelli fuq nett, l-ewwel fl-aħħar out,-aħħar fl-ewwel li joħroġ. Allura li għaddej biex jinħoloq x hawn. Li għaddej biex ikollhom varjabbli funcs kollha. Great. Allura issa għandna żewġ X differenti li jirrappreżentaw żewġ affarijiet differenti ħafna. Allura aħna qed tmur biex jistampaw l-eqreb numru sħiħ ta 'x. Mela ejja jistampaw 100, id-dritt? Għaliex hawnhekk huwa 100. Allura dak hu l-ewwel ħaġa li huwa għaddej biex jistampa. Peress li din xejn prospetti funzjoni, issa dik il-funzjoni, din il-linja fil ewlenija isir. Kulhadd tajba miegħi s'issa? Allura aħna qed issa permezz tnejn mill- tliet linji ta 'funzjoni ewlenija tagħna. Issa aħna qed tmur għat-tielet linja. Aħna qed tmur biex printf. X'inhu dan x ġewwa prinċipali? Xi jfisser li jirrappreżenta? X'inhu valur huwa x issa? UDJENZA: 100. Professur: Huwa 100? UDJENZA: Still 10. Professur: Still 10. Yeah. Minħabba ftakar, fi ħdan funzjonijiet tagħna, x hija ugwali għal 100. Imma jekk nerġgħu lura lura il-funzjoni ewlenija tagħna, dak il-varjabbli hija maħżuna fil- f'post differenti fuq munzell tagħna. Allura issa għandna bżonn li jmorru lura għall- munzell prinċipali, mejns varjabbli lokali. U hawn x hija ugwali għal 10. U hekk aħna qed tmur biex jistampa 10. Hekk hi kienet assolutament dritt. Aħna ser ikollhom l- output ta '100 u 10. Yeah? UDJENZA: Meta inti malloc, huwa l- borġ jew iċ-munzell li huwa [inaudible]? Professur: Meta inti malloc, tkun qed tieħu memorja mill-munzell u allokazzjoni tiegħu. Sabiex inti ma għandekx li mess ma 'kwalunkwe minn dan. So I raden l-takeaway akbar hawnhekk hija xi ħaġa imsejħa ambitu. Għal dawk minnkom li kienu fil is-sessjoni reviżjoni aħħar lejl, tkellimna fil-qosor dwar dan. Skop jiddefinixxi kif u meta jeżistu varjabbli tiegħek. Jew fi ħdan dak frejms jeżistu varjabbli tiegħek. Pretty ħafna l-istat tad-thumb ġeneralment huwa, variables-- tiegħek jekk inti jinħolqu minnhom ġewwa kaboċċi braces-- jeżistu biss ġewwa dawk ċineg kaboċċi. Għalhekk, per eżempju fil-funzjoni tagħna ta ' funzjonijiet, tara dawn iż-żewġ ċineg. Jekk int ħolqien xejn ġewwa ta 'dan, ċansijiet huma kull ma għandek tagħmel huwa qed ħolqien ta 'munzell u ħażna li hemm. L-istess ħaġa fil prinċipali. Li jinsab biss maħżuna ġewwa tal ewlenija. Ukoll inti tixtieq li tkun ħafna, ferm attent hawn. Għax l-ambitu tagħti wkoll ruħha li eżempji differenti. Għalhekk, per eżempju a għal loop, għal int i ugwali 0. I hija inqas minn, I do not know, 10. I plus plus. U inti stajt ltqajna kodiċi ġewwa ta 'dan, id-dritt? Fejn ma dan il-varjabbli, i, attwalment jeżistu biss? Biss ġewwa tal tiegħek għall loop. So I bet ħafna minnkom guys probabbilment jiltaqgħu magħhom dan l-iżball meta li qed isir programmi psets tiegħek. Kemm inti guys ppruvaw jużaw i barra minn għal loop u kellhom żball? Bħal interi unreferenced jew xi ħaġa bħal dik? Ir-raġuni għaliex dan jiġri huwa għaliex hawnhekk int joħolqu xi ħaġa li biss teżisti fi ħdan tiegħek għall loop. U jekk inti tipprova tagħmel użu minnha, i ma fil-fatt jeżistu barra minnha. Allura bażikament kompjuter qal, I ma nafx dak li qed jitkellem dwar. All I know huwa li kien i hawn, iżda issa m'għadhomx. Mela jekk jien kienu li joħolqu għall loop ġewwa, right? U jien ser joħolqu ieħor, bħal int j, u li hija tagħmel dak kollu. U inti għandek kodiċi ġewwa tal li loop, j teżisti biss hawn. Iżda li teżisti wkoll fi ħdan i. U hekk j jeżisti biss fi ħdan dan għal loop, billi i teżisti fil-ħaġa sħiħa. Kulħadd ċara? L-istess ħaġa ma 'dikjarazzjonijiet kondizzjonali jekk inti tixtieq li toħloq xejn. L-istess ħaġa ma 'linji waqt jekk tixtieq toħloq xejn. Dik xi ħaġa li tkun ħafna, attenti ħafna dwar. Għalhekk din kienet problema verament tajba fil- sens li wera żewġ affarijiet. Wera ewwel, l-iskop. U wera wkoll għall-allokazzjoni memorja. Għaliex inti guys tkun taf li funzjonijiet jikbru fuq fid-munzell. U li meta inti sejħa funzjonijiet, int ħolqien essenzjalment munzell ġdid ta 'memorja. Dan huwa differenti ħafna minn liema mains memorja tiegħek. Yeah. Whew! Kulħadd OK fuq dan? Dan kien konfuża. Suġġetti tajba ħafna li jmorru fuq, għax int probabilment se tikseb xi delikata affarijiet bħal dik fuq il-kwizz. Yeah. Kessaħ. I ser jitqiegħdu ikollok 100 fuq waħda linja u mbagħad 10 fuq l-oħra. Yeah, tajjeb ħafna. OK, issa inti guys se tikseb l-opportunità li jkun l-TAs. Ikollok biex twieġeb l-sabiħ emails li I kultant nikseb. Allura, Għażiż Andi, nara I think xi ħaġa huwa tmur ħażin ma kompilatur tiegħi. Jien ċert li kodiċi tiegħi hija korretta, imma I iżommu jkollna tort segmentazzjoni kull darba I run. X'qed jiġri? Jekk jogħġbok jgħinu, lottijiet tal-imħabba. Jekk inti guys ltqajna xi ħaġa bħal li kif tista twieġeb? Dawn huma attwalment komuni ħafna mistoqsijiet aħna ser jgħidlek. Hija jekk, aħna ser jagħtuk xenarju, aħna ser tagħtina raden aħjar tiegħek fuq x'inhu għaddej. Kull min ikollu stab lejn dak li jiġri? Yeah? UDJENZA: Forsi dereferenced il null, xi ħaġa bħall-pointer hija li tipponta lejn xi ħaġa null. Professur: Yeah, li d tkun Eżempju ta 'meta dik jiġri. Imma x'inhu l-istampa akbar tal x'inhu għaddej hawn? UDJENZA: Huwa inti qed tipprova għall-aċċess memorja li int mhux suppost li jkollhom aċċess għall-? Professur: Eżattament. Allura taħseb ta 'ħsara seg, off limiti, żona ristretta fil-memorja li inti m'għandekx tkun jmissux. Allura pretty ħafna meta inti qed tipprova li index-- bħal per eżempju, inti ħadthom iddikjarata bħala array minn żero sa disgħa. Imma inti tipprova tmissx dik 10 valur, inti ma għandekx aċċess għal dan. Għaliex inti ma ddikjarat dan. U għalhekk il-kompjuter tiegħek se li tħares lejn dan ikun simili, UH oh, inti qed tipprova tmur jitilgħu lil hinn minn indiċi. Jien ser jagħtuk tort segmentazzjoni. Think ta 'kif segment, id-dritt? Segment żejda, it-tort huwa meta inti tipprova ksur xi ħaġa u inti ma għandu jkun hemm. Tort Segmentazzjoni hija ghaċ inti tipprova tmissx affarijiet li inti m'għandekx tkun jmissux. Eżempji hekk komuni huma indiċi. Of course, jekk inti qed tipprova tmissx dan kien null, li wkoll taħdem ukoll. Jekk pointer tiegħek kien qed jipprova touch affarijiet li m'għandhomx touch, li jista 'jaħdem ukoll. Ħafna tipikament tkun taf tara dan fil-firxa. Kulħadd tajba? UDJENZA: Mela jekk inti tixtieq aċċess għall-10 punt u hemm biss limitu ta 'disa' jew xi ħaġa. Professur: Yeah, eżattament. Pretty ħafna. Kessaħ. Għażiż Andi. Allura konna ltqajna dawn wunderbare affarijiet imsejħa xorta. Jekk Jingħaqdu sort-- kif aħna raw fl-eżempju meta David għamlet l-sħiħ ħaġa fil class-- għaliex, jekk huwa hekk ħafna aktar mgħaġġla minn kwalunkwe mill-tipi oħra, għaliex għandna lanqas biss jitħajru jafu kwalunkwe mill-tipi oħra? X'inhu din il-mistoqsija verament inti titlob? X'hemm-tliet word-- UDJENZA: X'inhu l-kompromess? Professur: Eżattament. Dak hu s tistaqsi l-mistoqsija. X'hemm-kompromess bejn Jingħaqdu tip versi xi tip ieħor? UDJENZA: Jieħu memorja, right? Professur: Do you tispjega li ftit aktar? L-ewwel ejja tispjega maħżen Merge. Kif Jingħaqdu sort xogħol? UDJENZA: Allura taħdem mill diviżjoni kollox fis-nofs u mbagħad tqegħid flimkien u allokazzjoni mill-ġdid dan sabiex, bħal kull darba li inti jingħaqdu l-settijiet. Professur: Pretty ħafna. So I jista 'jiġbed dan out, iżda kieku tieħu me ħames minuti biex tiġbed out. Ħarsa lura fuq il-pjastri taqsima fejn aħna koperti tip Merge. Eżattament. Allura l-mod Jingħaqdu xogħlijiet sort huwa jaqsam affarijiet fil nofs, u allura biss tħares lejn il- ewwel valuri ta 'kull wieħed minnhom u xorta biss dik. Kontinwament joħloq arrays ġodda u tpoġġi l-affarijiet aktar u aktar fl-ordni. U hekk filwaqt li tassew, tassew fast għaliex it's-- tafu, tfittxija binarju huwa log n ta 'n. Int ħolqien tant arrays differenti li int tuża ammont kbir ta 'memorja. U għalhekk filwaqt li huwa aktar mgħaġġel, il-kummerċ off hawnhekk hija li inti qed tuża memorja aktar. U għalhekk, ħjiel, xorta u tfittxijiet kienu koperti ħafna aktar din is-sena milli kienu fi snin preċedenti. You guys għandhom jaraw li hekk rifless fuq il-kwizz. Nixtieq definittivament jqattgħu ħin se fuq liema kollha ta 'l suriet differenti huma, tfittxija kif binarju, kif ix-xogħol search lineari. Kif forsi pseudocode kodiċi dawk out. X'inhuma l-ħinijiet running? Xi ħaġa simili żminijiet running huwa ferm faċli għall-kopja isfel fuq folja nota, id-dritt? Huwa tassew diffiċli meta int fin-nofs-test u inti għandek figura li out. Kopja isfel. I garanzija li inti int ser jeħtieġ li tkun taf li. X'inhuma l-kompromessi? Agħar każ, każ xenarji aħjar għal kull wieħed minnhom, ħafna isiru jafu. Yeah? UDJENZA: Għandna bżonn li taf kif kodiċi sort Merge? Bħal, għandna bżonn li tiftakar il-rikursivi? Professur: I ħafna dubju dan, biss għaliex huwa simili pjuttost ikkumplikata. Iżda jista 'ma jkunx fattibbli jekk aħna nitolbok biex tuża pseudocode it out. Yeah. Yep, OK, wieħed aktar. Dan jista għandhom joħorġu fis inti aħħar biċċa fil-daqsxejn. Yeah? Did kulħadd tisma li? OK, so pretty ħafna ewwel ta kollox, liema tip ta 'programm Ikun jagħtik output bħal din? Ftakar staqsejna biex titgħallem dwar dan it-tip ġdid ta 'debugging għodda? Liema kien l-isem ta 'dan? Valgrind, id-dritt Kienet programm fejn inti tista 'sejħa li jista iżżomm kont ta 'l-memorja int użu fil-programm tiegħek u li kien għaddej. Mela jekk inti ħadthom ltqajna xi ħaġa, bħal, definittivament mitlufa, 40 bytes fil-blokk wieħed. Probabbilment int ma ftakar ħielsa it. Għaliex jekk inti qed tuża bytes ta 'memorja, dan ifisser li inti ħadthom aċċessata li l-memorja, imma inti ma ġewx jista 'jeħles. Allura inti tixtieq li tagħmel żgur li int ukoll użu free-- li l- function-- li ħielsa kollha tal-memorja riallokati mill malloc. Kessaħ. Allura dan slide, jien ser ikollhom it up. Huwa kullimkien fil-lott ta ' lectures, fil-lott ta 'slides taqsima. Int verament tixtieq li tagħmel ċert inti biss taf kollha ta 'dan. Jew fil-folja nota tiegħek jew jekk inti tixtieq li jimmemorizah, tħossok liberu li. Li tassew, tassew, tassew importanti. Wkoll tajba ħafna kwistjoni li aħna tista 'titlob. Għaliex huwa Għażla sort-- ħarsa lejn Għażla sort-- kollha tal-runtimes huma n kwadrat. Indipendentement minn kif l-lista tiġi inti bħala, hekk għaliex huwa sort-- Għażla I ser jagħtuk guys 30 tieni jaħsbu dwar dan. Għaliex dan huwa tip ta 'konfużjoni. Dan jinvolvi riflessjoni kunċettwali. Għaliex kieku l-ħinijiet run ikunu l-istess fl kemm-agħar u l-aħjar xenarji każ? Yeah? UDJENZA: Minħabba Għażla sort kull pożizzjoni jew spazju f'dan array ftit ħaġa jew ikun x'ikun. Hekk anke fil-aħjar xenarju, anki jekk huwa perfettament magħżula, ikun meħtieġ li din għandhom ikunu bħal, OK, wieħed. Fl-ewwel post tiegħi I jkollhom waħda. U jgħaddu kull wieħed minnhom. OK, wieħed huwa l-iżgħar. U allura tmur mill-ġdid u huwa simili, OK, żewġ huwa l-iżgħar ta 'kollha ta' l-affarijiet. Iżda xorta trid iċċekkja kull wieħed. Professur: Yeah. Hekk per eżempju, ejja biss jgħidu Għandna lista, diġà magħżula, firxa 1-5. Il-mod li xorta Għażla hija li din tmur permezz, hija għandha tivverifika dawn iż-żewġ. Imbagħad hija għandha tivverifika dawn iż-żewġ. U allura din il-kontrolli, u din il-kontrolli. Hija żżomm kontroll kollha kemm huma, irrispettivament minn jekk jew le huwa attwalment magħżula. Minħabba li sempliċiment il-mod il-tip jaħdem. U għalhekk din il-kwistjoni huwa tip simili kwistjoni kunċettwali aħna ser titlob. Fejn l-ewwel, inti jafu x'tip Għażla huwa, dritt, li tkun tista risposta għad-domanda. Int għandek tkun kapaċi jifhmu kunċettwalment x'inhu għaddej. U allura inti tista 'tapplika u think, OK ejja biss jimmaġina agħar każ. Huma qed kollha f'ordni dixxendenti. Kif kien li jaffettwaw dan? X'jiġri jekk huwa axxendenti ordni? Jekk huwa diġà magħżula? Kif kien li jaffettwaw l-runtimes? U mbagħad sort Għażla, tkun taf Avviż li din attwalment ma jimpurtax. Għax int iċċekkjar l- Valuri irrispettivament ta 'dak li qed jiġri. U sabiex l-affarijiet tajbin li wieħed jiftakru. Għaliex xi tipi huma differenti minn oħrajn u kif l-aħjar u agħar xenarji jaffettwa kull wieħed minnhom. Jien ser verament hit fil xorta minħabba li se tkun fuq l-kwizz. Yeah. KOLLOX SEW. Hemm sitt minuti xellug. I tista 'tieħu tliet minuti ta' mistoqsijiet. I tista 'wkoll hang madwar għal bħal 20 minuta wara taqsima jekk inti tixtieq li jistaqsu mistoqsijiet kif ukoll. Hawn xi ħadd sempliċiment għandek verament fil-qosor mistoqsijiet jew kwistjonijiet konċettwali dawn qed mhux ċar dwar id-dritt issa? Yeah? UDJENZA: Tista 'tkellem ftit ftit dwar operaturi bitwise? Professur: Yeah. Operaturi hekk bitwise huma xi ħaġa li inti probabilment tista 'biss jixtiequ li jpoġġu fuq il-folja tiegħek. So quickly-- Ma rridx li jmorru wisq fil-fond għaliex Harvard, fir-reviżjoni tagħhom sessjoni, koperti dan pretty ukoll. Operatur bitwise, hemm ħamsa minnhom, id-dritt? Hemm dan, li huwa x jew funzjoni, hemm ampersand, li hija l-u. Pipe, li hija l-jew. U allura inti għandek il-żewġ tipi differenti ta 'xiftijiet. Jekk I jagħtuk żewġ valuri, jekk I jagħtuk, bħal, wieħed u waħda. X'għandu li tevalwa? Jekk I jagħtuk vera u vera, vera? What about vera jew falza? Still vera, right? Għaliex hemm xi jew. Aktar probabbli aħna ser jagħtuk numri. Mela ftakar, wieħed ugwali veru, żero ugwali falza. U nistgħu nagħtuk dawn l-affarijiet u nitolbok biex tgħidilna dak li jiġri. Harvard tkopri miegħu fis-ewwel 10 minuta ta 'sessjoni studju tagħhom tassew, tassew tajjeb. Allura inti guys tixtieq li tagħmel ruħek li tfittex lura fuq dik. UDJENZA: Huwa pisa5 se tkun fuq l-kwizz? Professur: Le Lanqas ma nħarsu lejn pisa5 dritt issa. Huwa diffiċli. Biss ma lanqas biss jitħajru jħarsu lejn pisa5. Madankollu, peress li xi ideat u suġġerimenti, I jissuġġerixxi tibda pisa5 hekk kif il-kwizz huwa fuq. Dan se jkun l-agħar ġimgħa, iżda imbagħad inti guys se jiġu mgħoddija fuq l-għoljiet tar-rolling aħdar u ġriewi, u huwa multa. Din il-klassi gets sinifikanti aktar faċli wara l-ħames pset. Uffiċċju siegħa: UDJENZA huma Ħadd, it-tnejn? Professur: Yeah, so ħinijiet tal-uffiċċju se tal-Ħadd sat-Tnejn għall-pset. Uffiċċju siegħa tonight essenzjalment se jkun biss reviżjoni għall-kwizz. Jekk xi ħadd irid li ġejjin fi u jistaqsu il TAs mistoqsija, aħna ser ikunu hemm. I ser tieħu forsi aktar mistoqsija waħda jekk xi ħadd ikollu xi mistoqsija? Yeah? UDJENZA: Meta int lymph jiddefinixxu, [inaudible] jekk inti tgħidli star node u mbagħad jmiss, ma l-kompjuter awtomatikament jifhmu li int jirreferu għall pointer ieħor? Professur: Le UDJENZA: Inti għandek biex relink dan [inaudible]? Professur: Allura bażikament l- Struct ta 'nodu huwa, ftakar, huwa simili inti toħloq l-node u imbagħad inti għandek pointer imsejjaħ jmiss. Kulma qed tagħmel qed ikollha l-istruttura hemmhekk. Int għandek tassenja li pointer x'imkien. Allura l-kompjuters ma jafu dak li qed jagħmel s'issa. Int għandek attwalment tassenja din meta int ħolqien lista marbuta tiegħek. U dan huwa dak l-aktar pset 5 se tkun fuq. Sabiex l-ebda inkwiet dwar kwalunkwe ta 'dak id-dritt issa. UDJENZA: Allura aħna ma bżonn li tiffoka wisq fuq il-lista link, just il-kunċett ġenerali? Professur: Just stacks pretty ħafna, kjuwijiet, listi rabta, siġar, tabelli hash. Just ikunu jistgħu jsiru jafu liema huma. Aħna mhux se jistaqsu inti tixtieq xi ħaġa speċifika għaliex aħna ma verament għamlu pset li l ikopri xi li għadu. Għalhekk fl-aħħar żewġ minuti qabel I sett inti liberu li joqtlu dan il-kwizz. Pretty ħafna, bħal, jaħsbu dwar kif ferm inti guys waslu f'din il-klassi. I tiftakar meta ġimgħatejn ta 'din il-klassi, xi wħud minnkom jqattgħu tliet sigħat miktub ilma. Kemm idum ser tieħu inti guys li tikteb ilma issa? 30 sekonda, forsi? Aħseb dwar kemm inti guys tgħallmu. CS huwa suġġett tassew, tassew iebsa. M'hemm l-ebda dubju ta 'dak. Huwa diffiċli, hu għalhekk ebda wieħed istudji dan. Huwa biss iebsa. U huwa totalment multa. U jien verament kburi li kulħadd għamlitha s'hawn. Psets huma mhux faċli. Huma jieħdu ħafna ħin. You guys, jien qatt se jgħidlek biex jiktbu il-logħba ta '15 jew Vigenere fuq il-pset. Ebda ħtieġa għal ftit skerz dwar dan. Kollha aħna qed ittestjar hawn huwa li jevalwa għarfien kunċettwali tiegħek, kif ukoll peress li wħud mill-ħiliet bażiċi tiegħek ta 'kodifikazzjoni. It-test huwa maħsub biex tkun verament sfida. Bħal, din hi maħsuba għalik li ma jkollokx 100. Hija maħsuba wkoll biex inti probabilment ma jkunux jistgħu jispiċċaw fil-75 minuta. U li totalment multa. I'ma student myself. I know, I mibegħda meta I walk minn kwizz jkunu simili, shit. Dan kien verament iebsa. Probabbilment dak li għaddej biex happen-- u li l-totalment multa, Jien tghidlek guys dritt issa. Il-mezzi fuq dawn l-affarijiet mhumiex għoljin fil-livelli kollha. U għal dawk minnkom li ġew jkollna, bħal, threes fuq settijiet problema tiegħek, dan ma jfissirx li int se tikseb 60 fil-mija f'din il-klassi. Jekk ikollok 60% fuq il- kwizz, li ma jfissirx li inti qed tmur biex jiksbu D f'din il-klassi. Naraw, speċjalment I, għal dawk minnkom fit-taqsima tiegħi, I tara kif iebes inti guys huma kollha jaħdmu. U jien jżommu rekord ta 'dak. You guys se tkun multa. M'hemm l-ebda tradizzjoni istituzzjonali ta kuntentizza fl-aħħar tas-semestru. Minħabba l-gidien Harvard qed ngħidu ħbieb tagħhom, oh, inti ser tkun multa. Ħadd ma huwa tghidlek guys li hawn. So I jkollhom biex jgħidlek guys li hawn. You guys se tkun multa. Jien tant kburi ta 'dak kollu inti guys. It-test se jkun diffiċli. Studju għaliha, u wara biss armih. Lestu biex jitgħallmu affarijiet ġodda. U jieklu kandju. Imxejna lottijiet ta 'kandju. Get rqad bil-lejl tajba. Ma 'rqad, minħabba li d jkun tassew ħżiena. CS hija lott ta 'loġika. Jekk inti ma torqod, inti ma tistax tiffunzjona, u l-moħħ tiegħek ma jistax jaħdem. U jien ser jkun hawn għall-20 li jmiss minuti jekk xi ħadd irid li hang madwar. You guys huma ser jinqatel. Xorti tajba.