1 00:00:00,000 --> 00:00:02,670 >> [TEMA MUSIC] 2 00:00:02,670 --> 00:00:11,834 3 00:00:11,834 --> 00:00:13,365 >> Gjuha 1: Hi, të gjithë. 4 00:00:13,365 --> 00:00:14,365 Mirë se vini përsëri në seksion. 5 00:00:14,365 --> 00:00:15,700 6 00:00:15,700 --> 00:00:18,700 Ditë e bukur out-- e cila është arsyeja pse, unë jam sigurt, ka vetëm katër prej jush këtu 7 00:00:18,700 --> 00:00:21,180 dhe nuk paketë tonë të zakonshme. 8 00:00:21,180 --> 00:00:22,670 Unë kam qenë i sëmurë këtë fundjavë. 9 00:00:22,670 --> 00:00:24,294 Kështu që unë nuk kam Starburst për ju djema. 10 00:00:24,294 --> 00:00:26,400 Dhe unë mund të fillojnë kollitjes tmerrësisht të gjithë këtë. 11 00:00:26,400 --> 00:00:27,790 Pra, vetëm të kesh durim me mua. 12 00:00:27,790 --> 00:00:30,624 Unë jam duke shkuar për të vërtetë të përpiqet dhe për të marrë me këtë së pari, 13 00:00:30,624 --> 00:00:32,290 edhe pse, para se unë kam një sulm kollitjes. 14 00:00:32,290 --> 00:00:33,410 15 00:00:33,410 --> 00:00:37,390 Por vetëm të jetë e lehtë për mua një pak bit-- kjo është e gjitha unë kërkoj. 16 00:00:37,390 --> 00:00:39,370 17 00:00:39,370 --> 00:00:44,289 >> Pra, axhenda jonë për today-- vetëm një reminder-- quiz juaj është javën e ardhshme. 18 00:00:44,289 --> 00:00:46,830 Unë i thashë ju këtë javë të fundit kështu që nuk do të kapur ju off roje. 19 00:00:46,830 --> 00:00:47,954 Kështu që unë jam duke i kujtuar sërish. 20 00:00:47,954 --> 00:00:49,180 Javës së ardhshme quiz tuaj. 21 00:00:49,180 --> 00:00:52,730 Për këtë qëllim, javën e ardhshme e seksion do të jetë shumë më e 22 00:00:52,730 --> 00:00:55,180 of-- Unë do të përpiqemi dhe të punojnë në disa shqyrtim. 23 00:00:55,180 --> 00:00:58,130 Pra, në qoftë se ju djema mund të ndihmoni mua duke dërguar mua 24 00:00:58,130 --> 00:01:00,990 gjërat që ju jeni të rehatshme me, se ju jeni të shqetësuar në lidhje me, 25 00:01:00,990 --> 00:01:03,530 tema që ju dëshironi për të mua për të mbuluar, që do të jetë i madh. 26 00:01:03,530 --> 00:01:05,740 Kështu që unë mund të përpiqen dhe të punojnë ata në seksionin tonë javën e ardhshme 27 00:01:05,740 --> 00:01:11,540 ose të ju dërgojnë materiale shtesë ose prep që ju nuk mund të merrni diku tjetër. 28 00:01:11,540 --> 00:01:12,150 >> Po! 29 00:01:12,150 --> 00:01:13,520 Më shumë njerëz po vijnë! 30 00:01:13,520 --> 00:01:17,320 Mendova, ka të bëj atë keq fundit javë, se askush nuk dëshiron të kthehet? 31 00:01:17,320 --> 00:01:18,065 Unë jam i frikësuar. 32 00:01:18,065 --> 00:01:18,892 33 00:01:18,892 --> 00:01:21,100 Pra tjera tri gjëra që ne jemi duke shkuar për të shkuar mbi 34 00:01:21,100 --> 00:01:24,850 janë redirection, file I / O, dhe pastaj pointers dhe kujtesës dinamike. 35 00:01:24,850 --> 00:01:29,160 Unë jam i sigurt që ju jeni të gjithë të ngazëllyer për super pointers-- Tema gjithëve preferuar, 36 00:01:29,160 --> 00:01:31,310 në mënyrë të thjeshtë për të kuptuar. 37 00:01:31,310 --> 00:01:33,130 Unë jam i sigurt që ju djema të gjithë e mori atë, e drejtë? 38 00:01:33,130 --> 00:01:39,510 >> Gjërat e para të parë Pra, redirection-- kjo është në thelb vetëm një mënyrë 39 00:01:39,510 --> 00:01:42,920 për të kontrolluar se si ju input gjërat në programin tuaj, 40 00:01:42,920 --> 00:01:44,606 si ju gjërat e prodhimit nga programin tuaj. 41 00:01:44,606 --> 00:01:46,980 Mënyra kryesore se ju djema kanë qenë të bashkëveprojmë me të 42 00:01:46,980 --> 00:01:51,650 është vetëm me jashtë standarde me ekranin tuaj të shtypura këtu. 43 00:01:51,650 --> 00:01:55,940 Por ka mënyra për të pipe-- si ne shohim këtu 44 00:01:55,940 --> 00:01:58,980 është një e llojit tonë words-- e tub që informacioni 45 00:01:58,980 --> 00:02:02,850 ose të dhënat në një skedar nga një skedar. 46 00:02:02,850 --> 00:02:05,820 Është mënyra të vetëm të ndryshme të duke marrë gjërat në programin tuaj 47 00:02:05,820 --> 00:02:10,681 dhe nga e programit tuaj, në vend të vetëm për shtypjen e tyre në këtë ekran 48 00:02:10,681 --> 00:02:12,430 ose inputting gjëra nga vija e komandës. 49 00:02:12,430 --> 00:02:13,760 50 00:02:13,760 --> 00:02:18,030 >> Pra, para pak madhe se caret. 51 00:02:18,030 --> 00:02:22,085 Pra output-- ai thjesht shtyp e prodhimit në një skedar në vend të ekranit tuaj. 52 00:02:22,085 --> 00:02:23,620 53 00:02:23,620 --> 00:02:29,500 Pra, nëse keni pasur diçka që të shtypura "Hello, bota!" në ekran, 54 00:02:29,500 --> 00:02:32,400 në qoftë se keni vënë atë në vend të output.text, që 55 00:02:32,400 --> 00:02:35,220 krijon këtë skedar quajtur output.text. 56 00:02:35,220 --> 00:02:38,550 Dhe kur ju të hapur atë, ajo do të thonë "Hello, bota!" në atje. 57 00:02:38,550 --> 00:02:41,410 Kjo mund të jetë super të dobishme në qoftë se ju keni një ton të gabimeve 58 00:02:41,410 --> 00:02:43,430 në të vërtetë, siç e shohim në këtë një të tillë. 59 00:02:43,430 --> 00:02:46,810 Nëse ju bëni dy caret, ajo do të shtypura mesazhet e gabimit. 60 00:02:46,810 --> 00:02:52,090 >> Pra, nëse ju jeni të paturit e një problem me përpiluan, ajo ka një shumë prej gabimeve 61 00:02:52,090 --> 00:02:56,770 dhe ju jeni duke u bogged poshtë në përpjekjen të lëvizni nëpër në linjë tuaj të komandës 62 00:02:56,770 --> 00:02:59,110 nëpër të gjitha ato, ju mund të vetëm ato të shtypura në një skedar, 63 00:02:59,110 --> 00:03:02,130 të hapur këtë dosje në mënyrë që ju të mund të lëvizni nëpërmjet tyre më të lehtë. 64 00:03:02,130 --> 00:03:05,160 Unë në fakt përdorur se një shumë kur unë u debugging 65 00:03:05,160 --> 00:03:07,970 181 psets e mia për të mësuarit e makinës. 66 00:03:07,970 --> 00:03:10,000 Pra, ajo mund të jetë super të dobishme më vonë. 67 00:03:10,000 --> 00:03:18,370 Është gjithashtu e dobishme në qoftë se ju keni një program të se ndoshta është krijuar një bibliotekë 68 00:03:18,370 --> 00:03:20,430 apo gjenerimin e një sërë e vargjet, dhe ju 69 00:03:20,430 --> 00:03:22,846 duhet të jetë në gjendje për të parë atë ajo është gjenerimin e tyre siç duhet. 70 00:03:22,846 --> 00:03:23,860 71 00:03:23,860 --> 00:03:25,160 Kjo është mënyra për të bërë atë. 72 00:03:25,160 --> 00:03:28,280 >> Pra, nëse ju shkruar ato në një skedar, ju më lehtë mund të shqyrtojë ato, apo jo? 73 00:03:28,280 --> 00:03:30,930 Kundrejt duke u përpjekur për të lundruar përmes linjës komanduese tuaj. 74 00:03:30,930 --> 00:03:32,740 75 00:03:32,740 --> 00:03:35,820 Dhe pastaj një gjë të vihet në dukje është se me vetëm më i madh 76 00:03:35,820 --> 00:03:40,090 se caret, në qoftë se ju shkruani në një skedar që tashmë exists-- 77 00:03:40,090 --> 00:03:44,990 kështu si në qoftë se ne u këtë parë kohë, ne kemi vënë atë në output.text, 78 00:03:44,990 --> 00:03:49,970 dhe pastaj kemi pasur një program të dytë se të shtypura këtë si program dy 79 00:03:49,970 --> 00:03:54,250 dhe bëri një më i madh se sa të output.text, ajo do të prishësh that-- kështu 80 00:03:54,250 --> 00:03:56,715 prishësh atë që ishte ndonjëherë në këtë dosje për të filluar me. 81 00:03:56,715 --> 00:03:57,720 82 00:03:57,720 --> 00:04:00,750 >> Pra, nëse ju doni të append në një skedar, siç e shohim këtu, 83 00:04:00,750 --> 00:04:04,779 ju vetëm bëni dy më të madhe se shenja. 84 00:04:04,779 --> 00:04:05,820 Dhe kjo do të shtojë atë. 85 00:04:05,820 --> 00:04:06,750 Kjo nuk do të prishësh atë. 86 00:04:06,750 --> 00:04:09,770 Pra, nëse keni nevojë për të kandiduar të shumta Programet dhe lloji i mbajtur 87 00:04:09,770 --> 00:04:13,170 gjurmët e asaj që të gjithë prej tyre janë kthehen për ju në një skedar, 88 00:04:13,170 --> 00:04:14,190 kjo është një mënyrë për të bërë atë. 89 00:04:14,190 --> 00:04:17,231 Nëse ju nuk bëni kujdes se çfarë është në dosjen tuaj dhe është e lejuar që të jetë overwritten, 90 00:04:17,231 --> 00:04:19,204 ju mund të përdorni vetëm një më të madh të vetëm se. 91 00:04:19,204 --> 00:04:20,600 Ka që e bëjnë kuptim për të gjithë? 92 00:04:20,600 --> 00:04:23,205 93 00:04:23,205 --> 00:04:31,140 >> AUDIENCA: Si dot çaj përshëndetje të madhe se prodhimit dot tekstin, si dy herë, 94 00:04:31,140 --> 00:04:34,030 ajo vetëm do të tregojë vetëm në prodhim dot text a time-- dytë 95 00:04:34,030 --> 00:04:34,810 >> Gjuha 1: E drejta. 96 00:04:34,810 --> 00:04:40,450 Pra, kjo do të në thelb vetëm krejtësisht prishësh atë që ishte atje për të filluar me. 97 00:04:40,450 --> 00:04:44,260 Nëse kjo fotografi këtu, output.text tashmë 98 00:04:44,260 --> 00:04:48,230 ekziston, në thelb çdo gjë që ju e quani që përsëri me një më i madh të vetme 99 00:04:48,230 --> 00:04:51,920 se sa ju mund të thjesht të mendoni për atë si si ai zëvendësoi file. 100 00:04:51,920 --> 00:04:54,824 Ashtu si kur ju jeni të shpëtuar një Word dokument dhe ju nuk ruani si, 101 00:04:54,824 --> 00:04:57,365 dhe ju mbani të njëjtin emër, dhe ajo plotësisht mbivendos it-- 102 00:04:57,365 --> 00:04:58,680 kjo është e njëjta gjë e tillë. 103 00:04:58,680 --> 00:05:00,380 104 00:05:00,380 --> 00:05:03,550 Çdokush keni ndonjë pyetje në vetëm kompjuteri për një fotografi? 105 00:05:03,550 --> 00:05:05,051 106 00:05:05,051 --> 00:05:05,550 Awesome. 107 00:05:05,550 --> 00:05:11,440 >> Pra natyrisht, në qoftë se ju kundërt shigjetë drejtim, ajo mund të bëjë të dhëna. 108 00:05:11,440 --> 00:05:13,090 109 00:05:13,090 --> 00:05:19,960 Pra, kur ju djema pasur si Cezarit apo Visioneer 110 00:05:19,960 --> 00:05:23,195 dhe keni pasur të dhëna diçka, keni pasur një argument linjë komande 111 00:05:23,195 --> 00:05:24,960 që në fakt input ajo. 112 00:05:24,960 --> 00:05:27,410 Kjo është një tjetër mënyrë për të bërë atë. 113 00:05:27,410 --> 00:05:30,520 Pra, në vend të pritjes për një komandë të shpejtë, 114 00:05:30,520 --> 00:05:33,800 si kur ju të kërkuar për të tuaj Mesazhi në Cezarit apo Visioneer, 115 00:05:33,800 --> 00:05:36,490 në qoftë se keni pasur një skedar teksti që kishte mesazhin tuaj, 116 00:05:36,490 --> 00:05:38,280 ju vetëm mund të shkruani atë në atë. 117 00:05:38,280 --> 00:05:44,930 >> Pra, në qoftë se kjo ishte si dot çaj Cezarin 3 më pak se teksti input shigjetë, e cila 118 00:05:44,930 --> 00:05:47,240 është mesazhi juaj, që do të kandidojë vetëm gjobë. 119 00:05:47,240 --> 00:05:51,310 120 00:05:51,310 --> 00:05:54,020 Kur programi juaj Caesar vërtetë kërkuar të dhëna nga përdoruesit, 121 00:05:54,020 --> 00:05:57,360 ajo tashmë do të ketë atë, sepse ju keni shtypur në këtë skedë. 122 00:05:57,360 --> 00:05:58,830 Kjo është vetëm një tjetër mënyrë. 123 00:05:58,830 --> 00:06:02,445 Vetëm një i kundërt i output-- vetëm input për të dhënat tuaja. 124 00:06:02,445 --> 00:06:04,570 125 00:06:04,570 --> 00:06:06,680 >> Dhe pastaj ai i fundit është tub. 126 00:06:06,680 --> 00:06:07,780 Pra, kjo është ftohtë goxha. 127 00:06:07,780 --> 00:06:09,890 Për shkak se ajo ju lejon të marrë prodhimin e një 128 00:06:09,890 --> 00:06:13,695 program dhe e vënë atë si input për një tjetër program. 129 00:06:13,695 --> 00:06:15,250 130 00:06:15,250 --> 00:06:18,630 Unë nuk e di nëse ndonjë prej jush luajtur me të deshifroj 131 00:06:18,630 --> 00:06:20,590 se CS50 mund të ketë t'ju jepet, por do të 132 00:06:20,590 --> 00:06:27,380 ju lejojnë për të marrë një mostër paraqesë, shkruani atë në encryption tuaj, 133 00:06:27,380 --> 00:06:30,350 dhe pastaj nga atje shkruani që në decryption tuaj 134 00:06:30,350 --> 00:06:32,470 për t'u siguruar që ajo doli njëjtë. 135 00:06:32,470 --> 00:06:34,050 Pra, kjo është lloj i si tre-palësh loop. 136 00:06:34,050 --> 00:06:38,400 137 00:06:38,400 --> 00:06:39,423 Shkoni për të. 138 00:06:39,423 --> 00:06:41,785 >> AUDIENCA: Nëse një program ka inputeve të shumta, 139 00:06:41,785 --> 00:06:47,646 a ka një mënyrë për të treguar atë që input për të përdorur skedar teksti apo dalje për? 140 00:06:47,646 --> 00:06:49,325 >> Gjuha 1: Ajo ka inputeve të shumta. 141 00:06:49,325 --> 00:06:52,190 142 00:06:52,190 --> 00:07:00,430 Çfarëdo paraqesë input-- tuaj kur është e duke kërkuar për të dhëna se herën e parë, është e 143 00:07:00,430 --> 00:07:03,240 duke shkuar për të marrë, unë mendoj, se është do të tub në të gjithë dosjen. 144 00:07:03,240 --> 00:07:03,979 145 00:07:03,979 --> 00:07:07,145 Pra, nëse ju keni inputeve të shumta, ju jeni do të tubacioneve në fotografi të shumta. 146 00:07:07,145 --> 00:07:08,190 147 00:07:08,190 --> 00:07:12,390 Pra, nëse ju jeni duke kërkuar për mesazhe tri herë në kodin tuaj, 148 00:07:12,390 --> 00:07:15,230 ju jeni duke shkuar për të vënë në tre fotografi të ndryshme. 149 00:07:15,230 --> 00:07:15,980 Dhe ajo merr çmendur. 150 00:07:15,980 --> 00:07:18,188 Dhe ju nuk duhet të ketë të shqetësuar për këtë tani. 151 00:07:18,188 --> 00:07:19,150 Por kjo është ideja. 152 00:07:19,150 --> 00:07:20,680 153 00:07:20,680 --> 00:07:26,822 >> Pra, vërtet, tub është prodhim vetëm prej një Programi i përdor të dhëna në tjetrën. 154 00:07:26,822 --> 00:07:27,665 Gjithkush mirë atje? 155 00:07:27,665 --> 00:07:28,565 156 00:07:28,565 --> 00:07:29,065 Ftohtë. 157 00:07:29,065 --> 00:07:30,170 158 00:07:30,170 --> 00:07:30,932 OK. 159 00:07:30,932 --> 00:07:32,890 Ju ndoshta nuk do të ketë të bëjë shumë me të. 160 00:07:32,890 --> 00:07:35,670 Por ju duhet të kuptoni mënyra që ju mund të përdorni këtë. 161 00:07:35,670 --> 00:07:38,910 Dhe ka disa raste që ju mund të dëshironi të përdorni atë. 162 00:07:38,910 --> 00:07:44,590 >> Kështu që të paraqesë I / O-- unë e di se çfarë jeni saying-- ne jemi përdorur për të lexuar nga 163 00:07:44,590 --> 00:07:50,500 dhe me shkrim në ekranin tonë atje, e cila është standard në dhe standarde jashtë. 164 00:07:50,500 --> 00:07:54,370 Dhe kjo është ajo që ju djema keni qenë duke bërë që nga fillimi i klasës këtu. 165 00:07:54,370 --> 00:07:58,220 Por ju gjithashtu mund të lexojnë dhe shkruajnë fotografi, e cila është e gjitha file I / O-- kaq të paraqesë të dhëna, 166 00:07:58,220 --> 00:07:59,850 Prodhimi është e gjitha ajo qëndron për. 167 00:07:59,850 --> 00:08:00,930 168 00:08:00,930 --> 00:08:04,360 Pra, kjo në thelb do të thotë se ju mund të ruani të dhënat tuaja tani. 169 00:08:04,360 --> 00:08:08,460 >> Kur keni shkruar vetëm atë ekran, është e shkuar në thelb, e drejtë? 170 00:08:08,460 --> 00:08:12,507 Sa më shpejt që ju bëni "Hello Bota "dhe drejtuar" Hello world " 171 00:08:12,507 --> 00:08:14,090 ajo printon "Hello World" në ekran. 172 00:08:14,090 --> 00:08:16,370 Por ju nuk mund të vërtetë të bëjë asgjë me atë nga atje. 173 00:08:16,370 --> 00:08:18,950 Nëse ju dyqan në një tekst file, pastaj papritmas 174 00:08:18,950 --> 00:08:22,789 ju e keni këtë të dhëna që ju jeni duke i lejuar për të manipuluar ose të vënë atë në një skedar, 175 00:08:22,789 --> 00:08:24,080 ose të vënë atë në një program më vonë. 176 00:08:24,080 --> 00:08:26,370 177 00:08:26,370 --> 00:08:29,290 Një nga arsyet pse ne bëjmë kjo është vetëm 178 00:08:29,290 --> 00:08:31,560 si një mënyrë për të ruajtur të dhënat për përdorim të mëvonshëm. 179 00:08:31,560 --> 00:08:34,790 180 00:08:34,790 --> 00:08:37,279 >> Unë kam disa hapa këtu thjesht duke ecur nëpër standarde 181 00:08:37,279 --> 00:08:39,450 I / O. Në hapin e parë, ju nevojë për të krijuar një referencë 182 00:08:39,450 --> 00:08:43,480 në dosjen me të gjitha kapele Skeda Skeda yll. 183 00:08:43,480 --> 00:08:45,740 Kështu që krijon një tregues për një skedar. 184 00:08:45,740 --> 00:08:48,080 185 00:08:48,080 --> 00:08:49,650 Pra, atëherë ju doni të hapur atë. 186 00:08:49,650 --> 00:08:52,940 Dhe ju thoni, fjalë për fjalë, vetëm fotografi barabartë fopen. 187 00:08:52,940 --> 00:08:57,400 Dhe kjo do të kthehet a treguesin në dosjen qe sapo hapur. 188 00:08:57,400 --> 00:08:59,610 189 00:08:59,610 --> 00:09:01,460 Unë pashë një çift prej jush djemtë në orarit të punës. 190 00:09:01,460 --> 00:09:07,400 >> Por një nga gjërat është pointers remember-- 191 00:09:07,400 --> 00:09:10,409 mund të jetë një adresë apo null, e drejtë? 192 00:09:10,409 --> 00:09:12,700 Në qoftë se ne ndonjëherë kemi një rast ku diçka që mund të kthehen null, 193 00:09:12,700 --> 00:09:14,990 çfarë ne duhet të bëjmë para se ndonjëherë e përdorin atë? 194 00:09:14,990 --> 00:09:16,220 195 00:09:16,220 --> 00:09:19,000 Ne kemi nevojë për të kontrolluar nëse është i pavlefshëm apo jo, e drejtë? 196 00:09:19,000 --> 00:09:23,600 Për shkak se disa prej jush mund të ketë pasur çështja ku çfarëdo objekti 197 00:09:23,600 --> 00:09:26,110 ishte duke u kthyer në Breakout ishte null. 198 00:09:26,110 --> 00:09:28,170 Ju u përpoq për të kryer disa funksion në të. 199 00:09:28,170 --> 00:09:29,770 Dhe faqen kompjuterin tuaj fajësuar. 200 00:09:29,770 --> 00:09:30,725 E drejtë? 201 00:09:30,725 --> 00:09:33,640 Vë bast disa prej jush mund të ketë pasur këtë çështje. 202 00:09:33,640 --> 00:09:38,890 >> Pra, me fopen, fopen ose do të kthehet një tregues për fotografi, 203 00:09:38,890 --> 00:09:41,200 apo nëse diçka shkon keq, ajo do të kthehen null. 204 00:09:41,200 --> 00:09:45,980 Pra, ju gjithmonë duhet të kontrolloni që ajo nuk është kthyer pavlefshme 205 00:09:45,980 --> 00:09:47,880 para se të përpiqet për të bërë ndonjë gjë tjetër. 206 00:09:47,880 --> 00:09:49,110 207 00:09:49,110 --> 00:09:51,974 Kjo është si një paradigmë standarde se ju do të jeni nevojë këtu. 208 00:09:51,974 --> 00:09:54,390 Nëse ka ndonjëherë një shans që diçka që do të mund të kthehen null, 209 00:09:54,390 --> 00:09:56,590 kontrolloni për t'u siguruar atë nuk para se të vazhdoni. 210 00:09:56,590 --> 00:09:58,911 Përndryshe, ju do të jeni të merrni gabimet bukuroshe site. 211 00:09:58,911 --> 00:10:00,410 Dhe askush nuk i pëlqen të merret me ata. 212 00:10:00,410 --> 00:10:03,180 213 00:10:03,180 --> 00:10:06,410 >> Pra, si ne shohim këtu, argumenti i parë është vetëm rruga për file. 214 00:10:06,410 --> 00:10:09,380 Nëse kjo fotografi nuk ekziston, ajo do të krijojë këtë dosje. 215 00:10:09,380 --> 00:10:10,713 Dhe kjo është vetëm do të jetë bosh. 216 00:10:10,713 --> 00:10:10,789 217 00:10:10,789 --> 00:10:13,080 Dhe pastaj Argumenti i dytë është mënyra që ju dëshironi. 218 00:10:13,080 --> 00:10:14,610 A duam të lexojmë nga kjo skedë? 219 00:10:14,610 --> 00:10:15,560 A doni të shkruani nga ajo? 220 00:10:15,560 --> 00:10:16,476 A doni të append? 221 00:10:16,476 --> 00:10:17,600 222 00:10:17,600 --> 00:10:20,670 Pra, në fakt ajo që unë vetëm said-- nëse skedari nuk ekziston 223 00:10:20,670 --> 00:10:23,400 dhe ju jeni duke u përpjekur për të lexuar nga ai, ajo do të hedhin një gabim. 224 00:10:23,400 --> 00:10:26,890 Në qoftë se skeda name-- pëlqen nëse file.text nuk ekziston ende 225 00:10:26,890 --> 00:10:29,250 dhe ju doni të shkruani për atë, ajo do të krijojë 226 00:10:29,250 --> 00:10:33,110 një skedar bosh të quajtur file.text për ju. 227 00:10:33,110 --> 00:10:36,612 Dhe në qoftë se ju doni të append, ju duhet të bëni të njëjtën gjë. 228 00:10:36,612 --> 00:10:38,081 Ka që e bëjnë kuptim? 229 00:10:38,081 --> 00:10:40,580 Nëse ju jeni duke u përpjekur për të lexuar nga një fotografi që nuk ekziston akoma, 230 00:10:40,580 --> 00:10:41,590 ajo do të hedhin një gabim. 231 00:10:41,590 --> 00:10:44,340 Përndryshe, ajo do të krijojë fotografi për ju të bëni atë që ju dëshironi të. 232 00:10:44,340 --> 00:10:45,970 233 00:10:45,970 --> 00:10:46,470 Ftohtë. 234 00:10:46,470 --> 00:10:47,510 235 00:10:47,510 --> 00:10:48,880 Tani ne mund të lexohet nga file. 236 00:10:48,880 --> 00:10:52,570 Dhe kjo është vetëm lloj i shkon përmes funksioneve të ndryshme 237 00:10:52,570 --> 00:10:58,980 që ne kemi për fotografi I / O. Ky vullnet të jetë e nevojshme në pset kësaj jave, 238 00:10:58,980 --> 00:11:00,505 nëse më kujtohet saktë. 239 00:11:00,505 --> 00:11:02,880 Po, absolutisht do të jetë nevojshme në pset kësaj jave. 240 00:11:02,880 --> 00:11:04,260 241 00:11:04,260 --> 00:11:07,010 Pra fgetc kthen karakterin e ardhshëm. 242 00:11:07,010 --> 00:11:08,350 243 00:11:08,350 --> 00:11:10,300 fgets vetëm jep një linjë të tekstit. 244 00:11:10,300 --> 00:11:11,790 245 00:11:11,790 --> 00:11:14,610 Ai do të kthehet çdo gjë deri në një linjë të re, dhe kjo do të thyejnë. 246 00:11:14,610 --> 00:11:15,950 247 00:11:15,950 --> 00:11:18,700 Pra fread lexon një farë Numri i bytes dhe i vendos ato 248 00:11:18,700 --> 00:11:20,700 në një grup, i cili është diçka që ju mund të 249 00:11:20,700 --> 00:11:25,485 duan të bëjnë me ri-size-- mund të jenë të dobishme. 250 00:11:25,485 --> 00:11:26,550 251 00:11:26,550 --> 00:11:29,290 >> Sa shumë njerëz kanë lexuar spekulim pset, nga rruga? 252 00:11:29,290 --> 00:11:30,980 253 00:11:30,980 --> 00:11:32,261 OK. 254 00:11:32,261 --> 00:11:32,760 [Padëgjueshme] 255 00:11:32,760 --> 00:11:35,380 256 00:11:35,380 --> 00:11:36,580 >> Gjuha 1: OK. 257 00:11:36,580 --> 00:11:37,530 Dakord. 258 00:11:37,530 --> 00:11:41,940 Lexoni Definitely that-- kjo është një pset fun. 259 00:11:41,940 --> 00:11:51,320 Ju merrni për të rimarrë një kujtesë të fshihet card-- vërtetë emocionuese kur ajo punon. 260 00:11:51,320 --> 00:11:54,100 Por definitivisht, filloni të lexoni atë. 261 00:11:54,100 --> 00:11:56,280 Ejani të bisedoni me mua, nëse ju keni pyetje në lidhje me të. 262 00:11:56,280 --> 00:11:59,290 >> OK, kështu që unë isha duke thënë, fread lexon një numër të caktuar të bytes. 263 00:11:59,290 --> 00:12:01,340 264 00:12:01,340 --> 00:12:03,590 Kjo është një numër arbitrar se ju jeni duke shkuar për të vendosur. 265 00:12:03,590 --> 00:12:05,990 266 00:12:05,990 --> 00:12:08,260 Dhe pastaj fseek vetëm lëviz në një pozicion të caktuar. 267 00:12:08,260 --> 00:12:11,150 Pra, ndoshta ju nuk e kujdesit rreth 10 bytes ardhshme. 268 00:12:11,150 --> 00:12:12,880 Ju thjesht doni të kaloni përpara. 269 00:12:12,880 --> 00:12:14,030 Ju nuk bëni kujdes për ata. 270 00:12:14,030 --> 00:12:16,280 Ju dëshironi të lexoni duke filluar nga ora 11 bajt. 271 00:12:16,280 --> 00:12:18,252 fseek ju lejon të bëni atë. 272 00:12:18,252 --> 00:12:20,710 Pra, kjo ju lejon të jetë selektiv në lidhje me atë që ju jeni duke lexuar. 273 00:12:20,710 --> 00:12:25,880 Sepse fgetc, fgets, dhe fread lexuar nga një vend të caktuar në dosjen. 274 00:12:25,880 --> 00:12:27,260 275 00:12:27,260 --> 00:12:35,090 >> Një mënyrë për të menduar për këtë është në qoftë se kjo është fotografi ynë, kur ju së pari të hapur atë, 276 00:12:35,090 --> 00:12:41,140 ju e keni këtë pozicion në dosjen që fillon në fillim. 277 00:12:41,140 --> 00:12:45,040 Kurdo që ju e quani fgetc, fgetf, apo fread, 278 00:12:45,040 --> 00:12:48,875 ajo do të fillojë nga ky shënues pozicion. 279 00:12:48,875 --> 00:12:51,340 280 00:12:51,340 --> 00:12:55,245 Le të thonë se ju vetëm dëshironi të lexoni kjo copë e kujtesës mbi këtu. 281 00:12:55,245 --> 00:12:56,300 282 00:12:56,300 --> 00:12:57,960 Ju nuk mund thjesht të telefononi. 283 00:12:57,960 --> 00:13:02,430 Ju duhet të kërkojnë këtu dhe të lexoni pastaj nga atje 284 00:13:02,430 --> 00:13:06,540 ose lexoni, merr, ose getc, në varësi të asaj që ju dëshironi. 285 00:13:06,540 --> 00:13:09,310 Pra, të kërkojnë vetëm ju lejon të kaloni pjesë të kujtesës. 286 00:13:09,310 --> 00:13:11,590 Dhe kjo është vetëm mënyrë që ju mund të kaloni gjërat 287 00:13:11,590 --> 00:13:14,012 pa lexuar ato në tampon tuaj. 288 00:13:14,012 --> 00:13:15,470 Ka që e bëjnë kuptim për të gjithë? 289 00:13:15,470 --> 00:13:21,110 290 00:13:21,110 --> 00:13:24,780 >> Natyrisht, ka një Shumë here-- paralele 291 00:13:24,780 --> 00:13:27,780 tonë redirection prodhimit, apo të dhëna, ju keni lexuar dhe shkruar. 292 00:13:27,780 --> 00:13:31,800 Pra fputc vetëm shkruan a Karakteri në dosjen. 293 00:13:31,800 --> 00:13:33,655 fputs shkruan një linjë. 294 00:13:33,655 --> 00:13:35,030 295 00:13:35,030 --> 00:13:37,420 Fprintf printon një dalje formatuar. 296 00:13:37,420 --> 00:13:41,190 Pra, nëse ju keni tabs, ose hapësirë, apo gjësend. 297 00:13:41,190 --> 00:13:44,180 Dhe pastaj fwrite shkruan disa Grup i bytes në një skedar. 298 00:13:44,180 --> 00:13:48,860 Pra, kjo është të njëjtën mënyrë fwrite dhe fread janë analoge 299 00:13:48,860 --> 00:13:57,550 fgets opposites--, fputs, dhe pastaj shumë fputc dhe fgetc-- 300 00:13:57,550 --> 00:14:00,710 i çmendur, gjëra të shpejtë. 301 00:14:00,710 --> 00:14:05,300 >> Vetëm lloji i mbajtur këtë handy-- ju do të keni kohë të ndryshme 302 00:14:05,300 --> 00:14:08,680 ku ndoshta ju thjesht duan nje karakter në një kohë. 303 00:14:08,680 --> 00:14:09,890 Ndoshta ju doni një linjë të tërë. 304 00:14:09,890 --> 00:14:14,320 Me pset-- tuaj fjalorit cila është në dy psets, 305 00:14:14,320 --> 00:14:19,690 Unë besoj se, ne ju jap një tërësi fjalor në një format tekst 306 00:14:19,690 --> 00:14:22,252 i cili ka çdo fjalë ndara nga një linjë. 307 00:14:22,252 --> 00:14:24,210 Pra, nëse ju të kërkuar për të lexuar në një fjalë në një kohë, 308 00:14:24,210 --> 00:14:31,769 çfarë mund të ju përdorni në qoftë se ju jeni duke lexuar dhe ata janë të gjithë të ndara në linja të reja, 309 00:14:31,769 --> 00:14:33,310 dhe ju vetëm duan një fjalë në një kohë? 310 00:14:33,310 --> 00:14:35,320 311 00:14:35,320 --> 00:14:36,040 >> Audienca: Fgets 312 00:14:36,040 --> 00:14:36,748 >> Gjuha 1: E drejta. 313 00:14:36,748 --> 00:14:39,960 Fgets-- sepse kjo kthehet çdo gjë që është në një linjë. 314 00:14:39,960 --> 00:14:42,750 Dhe në qoftë se çdo fjalë e saj është Linja vet, ne mund të përdorim fgets. 315 00:14:42,750 --> 00:14:44,511 316 00:14:44,511 --> 00:14:45,010 Ftohtë. 317 00:14:45,010 --> 00:14:47,290 Ka që e bëjnë kuptim, të gjithë? 318 00:14:47,290 --> 00:14:48,020 Ftohtë? 319 00:14:48,020 --> 00:14:50,020 Yeah, ne jemi duke shkuar për të marrë në pjesa fun me pointers 320 00:14:50,020 --> 00:14:51,728 shumë shpejt, kur ju marrë për të bërë disa matematikë. 321 00:14:51,728 --> 00:14:52,776 Dhe kjo do të jetë e madhe. 322 00:14:52,776 --> 00:14:55,690 323 00:14:55,690 --> 00:14:57,740 >> E fundit step-- mbyllur dosjen tuaj. 324 00:14:57,740 --> 00:15:01,090 Me kaq shumë gjëra këtu, një nga paradigmat tona 325 00:15:01,090 --> 00:15:03,550 është në qoftë se ajo mund të kthehet null, kontrolloni for null. 326 00:15:03,550 --> 00:15:06,160 Nëse jeni të hapur diçka, ju do të mbyllë më mirë atë. 327 00:15:06,160 --> 00:15:10,419 OK, kështu që ju nuk jeni duke bërë derisa jeni bëhet nëse ju e keni mbyllur atë. 328 00:15:10,419 --> 00:15:12,585 Lloj si ajo nuk ka mbaruar deri lady yndyrë këndon. 329 00:15:12,585 --> 00:15:14,130 Kjo është si të mbyllur dosjen tuaj. 330 00:15:14,130 --> 00:15:16,860 331 00:15:16,860 --> 00:15:19,190 Siç thotë këtu, vetëm të përsëris, gjithmonë 332 00:15:19,190 --> 00:15:21,750 të hapur dosjen tuaj para se ju jeni lexim ose shkrim me të. 333 00:15:21,750 --> 00:15:24,450 Dhe gjithmonë të mbyllë atë në qoftë se ju keni hapur atë. 334 00:15:24,450 --> 00:15:25,460 Të gjithë të drejtë? 335 00:15:25,460 --> 00:15:25,960 Ftohtë. 336 00:15:25,960 --> 00:15:26,835 >> Kështu që këtu është një shembull. 337 00:15:26,835 --> 00:15:29,250 338 00:15:29,250 --> 00:15:34,330 Pra tiny-- Unë nuk e di nëse ju djema mund të shihni se shumë mirë. 339 00:15:34,330 --> 00:15:36,805 Në qoftë se vetëm ne mund të rritet shkëlqim disi. 340 00:15:36,805 --> 00:15:40,430 341 00:15:40,430 --> 00:15:45,030 Më lejoni të vërtetë të bëjë këtë në qoftë se unë mund të. 342 00:15:45,030 --> 00:15:48,020 343 00:15:48,020 --> 00:15:51,470 OK, ju djema nuk mund të vërtetë shohim se në të gjitha, mund të ju? 344 00:15:51,470 --> 00:15:52,905 OK, ne jemi duke shkuar për të bërë këtë, atëherë. 345 00:15:52,905 --> 00:16:35,094 346 00:16:35,094 --> 00:16:35,594 [Padëgjueshme] 347 00:16:35,594 --> 00:16:56,670 348 00:16:56,670 --> 00:16:58,605 >> Unë supozoj kjo është shumë më mirë për të parë. 349 00:16:58,605 --> 00:17:17,330 350 00:17:17,330 --> 00:17:19,455 Dikush mund të shihni se ku e mia miu shkoi është pyetja? 351 00:17:19,455 --> 00:17:22,837 Ah, aty is-- atë që lufton! 352 00:17:22,837 --> 00:17:48,910 353 00:17:48,910 --> 00:17:49,520 >> OK. 354 00:17:49,520 --> 00:17:53,845 Në thelb, ju djema duhet të ketë lloj një ide të asaj që kjo është duke bërë. 355 00:17:53,845 --> 00:17:56,740 356 00:17:56,740 --> 00:17:57,600 Kjo nuk është e përsosur. 357 00:17:57,600 --> 00:17:58,851 358 00:17:58,851 --> 00:18:02,425 Por unë do të shpjegoj se të shpenzojë më shumë kohë duke u përpjekur për të formatin atë siç duhet. 359 00:18:02,425 --> 00:18:03,610 360 00:18:03,610 --> 00:18:07,280 Në thelb, siç e shihni këtu, ne fillim me dosjes së hapur. 361 00:18:07,280 --> 00:18:09,620 Dhe ne kemi disa fotografi bazës së të dhënave që ne jemi 362 00:18:09,620 --> 00:18:12,300 hapur që thotë se është studentët tanë. 363 00:18:12,300 --> 00:18:14,020 Dhe ne jemi duke shkuar për të shkruar për të. 364 00:18:14,020 --> 00:18:15,060 365 00:18:15,060 --> 00:18:17,720 Pra, natyrisht, të kthehen null. 366 00:18:17,720 --> 00:18:19,650 Pra, ne duhet të kontrolloni për të null. 367 00:18:19,650 --> 00:18:22,930 Dhe pastaj, nëse kjo nuk është null, ne do të shkojmë përmes. 368 00:18:22,930 --> 00:18:25,660 Dhe, siç e shihni, ne jemi looping përmes këtu. 369 00:18:25,660 --> 00:18:26,960 Nuk janë studentë. 370 00:18:26,960 --> 00:18:30,520 Studentët eshte hash përcaktuar si tre. 371 00:18:30,520 --> 00:18:34,060 Dhe ajo që ne po bëjmë është që ne jemi shtypjen në dosjen, e drejtë? 372 00:18:34,060 --> 00:18:36,975 Pra, çfarë jemi printim në dosjen tonë? 373 00:18:36,975 --> 00:18:47,040 374 00:18:47,040 --> 00:18:48,906 >> AUDIENCA: Rezultatet që janë në vektorit? 375 00:18:48,906 --> 00:18:49,680 >> Gjuha 1: Po. 376 00:18:49,680 --> 00:18:50,980 Rezultatet që janë në array-- saktësisht. 377 00:18:50,980 --> 00:18:53,050 Pra, ne jemi të hapur këtë fotografi bazës së të dhënave, të cilat 378 00:18:53,050 --> 00:18:56,040 Unë supozoj është një lloj nga klasat bazës së të dhënave. 379 00:18:56,040 --> 00:19:01,100 Dhe ne jemi vetëm shtypjes nga rezultatet e çdo nxënësi në atë dosje. 380 00:19:01,100 --> 00:19:02,140 Ftohtë? 381 00:19:02,140 --> 00:19:02,640 Të mirë. 382 00:19:02,640 --> 00:19:03,811 383 00:19:03,811 --> 00:19:04,310 Awesome. 384 00:19:04,310 --> 00:19:05,100 OK. 385 00:19:05,100 --> 00:19:06,950 Le të kthehemi to-- 386 00:19:06,950 --> 00:19:08,646 >> AUDIENCA: Unë kam një pyetje të shpejtë. 387 00:19:08,646 --> 00:19:11,570 A printf nuk është në lak? 388 00:19:11,570 --> 00:19:12,870 Kjo është vetëm në nëse lak? 389 00:19:12,870 --> 00:19:14,370 Gjuha 1: Jo, ajo është në lak. 390 00:19:14,370 --> 00:19:16,150 391 00:19:16,150 --> 00:19:18,810 Unë nuk mund të shoh miun tim shumë mirë këtu. 392 00:19:18,810 --> 00:19:21,359 Kështu që unë jam duke luftuar për format që duhet. 393 00:19:21,359 --> 00:19:22,525 Kjo parantezë duhet të jetë zhdukur. 394 00:19:22,525 --> 00:19:23,610 395 00:19:23,610 --> 00:19:25,130 Ajo duhet të jetë këtu poshtë. 396 00:19:25,130 --> 00:19:26,605 Kjo është ajo që është në tuaj për lak. 397 00:19:26,605 --> 00:20:10,680 398 00:20:10,680 --> 00:20:11,180 Atje. 399 00:20:11,180 --> 00:20:12,160 Tani kjo është goxha. 400 00:20:12,160 --> 00:20:16,720 Pra, kjo është se si ajo duhet të be-- përveç për këtë grupim e fundit që unë shkarkuar. 401 00:20:16,720 --> 00:20:17,220 OK. 402 00:20:17,220 --> 00:20:19,491 Ka që e bëjnë kuptim për të gjithë? 403 00:20:19,491 --> 00:20:19,990 OK. 404 00:20:19,990 --> 00:20:23,750 Ne jemi duke shkuar për të lëvizur në për gjë tjetër then-- 405 00:20:23,750 --> 00:20:26,180 të cilat, në fakt, ju do të jeni të duhet për të parë kodin. 406 00:20:26,180 --> 00:20:28,370 Kështu që unë jam vetëm duke shkuar për të kopje që gjatë tani. 407 00:20:28,370 --> 00:20:31,500 408 00:20:31,500 --> 00:20:32,000 OK. 409 00:20:32,000 --> 00:20:35,110 Kështu që unë jam duke shkuar për të treguar ju djema këtë kod. 410 00:20:35,110 --> 00:20:38,240 Dhe unë dua që ju të provoni dhe figura se çfarë është menduar për të bërë. 411 00:20:38,240 --> 00:20:49,740 412 00:20:49,740 --> 00:20:52,480 >> Pra, duke pasur parasysh that-- të marrë një minutë apo më shumë. 413 00:20:52,480 --> 00:20:54,440 Provo dhe të kuptoj se çfarë po ndodh këtu. 414 00:20:54,440 --> 00:21:58,840 415 00:21:58,840 --> 00:21:59,570 >> Ndonjë ide? 416 00:21:59,570 --> 00:22:08,180 417 00:22:08,180 --> 00:22:12,470 >> Ne e dimë se kemi të paktën dy Argumentet në command line, e drejtë? 418 00:22:12,470 --> 00:22:16,270 I të marrë një nga të cilat do të jetë se [padëgjueshme] i programit tonë është 419 00:22:16,270 --> 00:22:17,530 dhe pastaj diçka tjetër. 420 00:22:17,530 --> 00:22:19,980 Sepse në qoftë se [padëgjueshme] është më pak se dy, ne bërtas me ta. 421 00:22:19,980 --> 00:22:21,140 E drejtë? 422 00:22:21,140 --> 00:22:25,300 Dhe nga përdorimi, ajo duket si ajo do të jetë një lloj file. 423 00:22:25,300 --> 00:22:26,260 Ne të gjithë bien dakord për këtë? 424 00:22:26,260 --> 00:22:29,110 425 00:22:29,110 --> 00:22:31,570 Deri tani, çfarë është duke bërë lak? 426 00:22:31,570 --> 00:22:32,570 Çfarë është ajo po kalon? 427 00:22:32,570 --> 00:22:35,000 428 00:22:35,000 --> 00:22:36,449 >> AUDIENCA: Të gjitha dosjet. 429 00:22:36,449 --> 00:22:37,240 Gjuha 1: Pikërisht. 430 00:22:37,240 --> 00:22:39,650 Ajo që po ndodh nëpër të gjitha fotografi që ne kemi të dhëna aty. 431 00:22:39,650 --> 00:22:40,720 432 00:22:40,720 --> 00:22:46,040 Pra, për çdo fotografi, është e hapjen e një varg atje. 433 00:22:46,040 --> 00:22:47,560 Është hapur këtë dosje. 434 00:22:47,560 --> 00:22:48,060 E drejtë? 435 00:22:48,060 --> 00:22:49,140 436 00:22:49,140 --> 00:22:52,380 Dhe kjo është lexuar prej saj. 437 00:22:52,380 --> 00:22:53,420 438 00:22:53,420 --> 00:22:55,540 Sigurisht, duke kontrolluar nëse është e pavlefshëm. 439 00:22:55,540 --> 00:22:57,220 Dhe pastaj është e shtypje. 440 00:22:57,220 --> 00:23:01,460 Nëse kjo është null, kjo është vetëm duke na thënë se kjo nuk është një fotografi që ekziston. 441 00:23:01,460 --> 00:23:04,290 Sepse mos harroni, me lexoni fotografi ynë ka të ekzistojë. 442 00:23:04,290 --> 00:23:04,810 E drejtë? 443 00:23:04,810 --> 00:23:06,870 Me shkruaj dhe append, ju mund të merrni larg me të. 444 00:23:06,870 --> 00:23:08,970 Por me të lexuar, fotografi ynë ka të ekzistojë. 445 00:23:08,970 --> 00:23:10,430 446 00:23:10,430 --> 00:23:13,330 >> Dhe pastaj, nëse ajo nuk ekziston, çfarë po bëjmë ne këtu? 447 00:23:13,330 --> 00:23:14,810 448 00:23:14,810 --> 00:23:15,780 Le të vetëm të fillojë këtu. 449 00:23:15,780 --> 00:23:18,815 Çfarë është kjo do-- këtë karakter të parë. 450 00:23:18,815 --> 00:23:20,960 451 00:23:20,960 --> 00:23:21,790 Çfarë do të bëni? 452 00:23:21,790 --> 00:23:24,100 Ai merr një karakter, e drejtë? 453 00:23:24,100 --> 00:23:25,400 Pra, çfarë është kjo e bën? 454 00:23:25,400 --> 00:23:26,775 Është marrë karakterin e parë. 455 00:23:26,775 --> 00:23:28,860 456 00:23:28,860 --> 00:23:30,200 Çdokush e di EOF? 457 00:23:30,200 --> 00:23:31,170 >> AUDIENCA: Fundi i dosjes? 458 00:23:31,170 --> 00:23:32,680 >> Gjuha 1: Fundi i file-- saktësisht. 459 00:23:32,680 --> 00:23:35,310 Pra, ajo do të shkojë nëpër tërë fotografi, e drejtë? 460 00:23:35,310 --> 00:23:36,710 461 00:23:36,710 --> 00:23:40,780 Dhe pastaj do të të rinovuar nga duke marrë çdo karakter të mëvonshëm. 462 00:23:40,780 --> 00:23:41,565 E drejtë? 463 00:23:41,565 --> 00:23:43,636 Dhe çfarë është ajo bën? 464 00:23:43,636 --> 00:23:44,760 AUDIENCA: Vendosja se in-- 465 00:23:44,760 --> 00:23:46,741 466 00:23:46,741 --> 00:23:49,170 >> Gjuha 1: printime Putchar në screensaver tuaj. 467 00:23:49,170 --> 00:23:50,867 468 00:23:50,867 --> 00:23:51,950 [Padëgjueshme] karakteri. 469 00:23:51,950 --> 00:23:54,300 Dhe atëherë kur ajo [padëgjueshme] kjo do të mbyllë dosjen. 470 00:23:54,300 --> 00:23:57,370 >> AUDIENCA: A nuk keni nevojë për një [? tjetër? ?] 471 00:23:57,370 --> 00:23:59,005 >> Gjuha 1: Jo domosdoshmërisht. 472 00:23:59,005 --> 00:24:01,480 Unë do të thotë, kjo është lloj i nënkuptuar në këtë. 473 00:24:01,480 --> 00:24:06,780 Për shkak se kjo kthehet, edhe pse, për sa kohë pasi që kjo nuk ka kapur këtë, ju jeni të mirë. 474 00:24:06,780 --> 00:24:07,940 475 00:24:07,940 --> 00:24:10,250 Unë do të thotë se është ndoshta mirë praktikë për të bërë një tjetër. 476 00:24:10,250 --> 00:24:15,755 Por një tjetër nuk është gjithmonë është e nevojshme sidomos 477 00:24:15,755 --> 00:24:17,610 në qoftë se ju keni diçka si një kthim, i cili 478 00:24:17,610 --> 00:24:20,640 do të thotë se në këtë rast, nëse ajo kap ajo, programi juaj do të përfundojë 479 00:24:20,640 --> 00:24:21,850 dhe ai kurrë nuk do të merrni për këtë. 480 00:24:21,850 --> 00:24:23,030 481 00:24:23,030 --> 00:24:29,190 Kjo është më shumë për rastin kur ju jeni jo domosdoshmërisht kthehen diçka. 482 00:24:29,190 --> 00:24:31,370 Sepse në qoftë se kjo nuk ishte kthehen asgjë, 483 00:24:31,370 --> 00:24:34,430 kjo do të thotë se në qoftë se kjo ishte e vërtetë, pjesa tjetër e kjo ende do të kandidojë. 484 00:24:34,430 --> 00:24:36,138 Dhe në këtë rast, ju do të duan një të rreme. 485 00:24:36,138 --> 00:24:38,240 Në qoftë se kjo është kthehen, dhe Përfundimi i programit tuaj, 486 00:24:38,240 --> 00:24:41,960 një tjetër nuk është e nevojshme të gjithë kohë, në varësi të kontekstit. 487 00:24:41,960 --> 00:24:43,084 488 00:24:43,084 --> 00:24:44,375 Jakobi, nuk keni një pyetje? 489 00:24:44,375 --> 00:24:46,100 AUDIENCA: Po. 490 00:24:46,100 --> 00:24:49,300 Pra ka fgetc marrë karakterin e ardhshëm? 491 00:24:49,300 --> 00:24:50,734 Si ka rritur karakterin? 492 00:24:50,734 --> 00:24:51,400 Gjuha 1: Po. 493 00:24:51,400 --> 00:24:52,774 Pra fgetc merr karakter tjetër. 494 00:24:52,774 --> 00:24:54,140 495 00:24:54,140 --> 00:24:56,866 Ju mund të mendoni për atë si C ++ në një kuptim. 496 00:24:56,866 --> 00:24:58,350 >> Audienca: Pra, çfarë ishte EOF? 497 00:24:58,350 --> 00:25:00,877 >> Gjuha 1: EOF është fundi i dosjes. 498 00:25:00,877 --> 00:25:03,960 Kjo është vetëm një tregues që ju lejon të dini se ju jeni në fund të dosjes tuaj. 499 00:25:03,960 --> 00:25:06,742 Pra, kjo do të shtypura në standardin tuaj jashtë. 500 00:25:06,742 --> 00:25:08,950 Dhe pastaj do të mbyllen fotografi kur është bërë. 501 00:25:08,950 --> 00:25:10,700 Dhe pastaj le të shkojnë në fotografinë pasardhësenext, e drejtë? 502 00:25:10,700 --> 00:25:12,660 Pra në përgjithësi, çfarë bën ky program të bëjë? 503 00:25:12,660 --> 00:25:15,402 504 00:25:15,402 --> 00:25:16,090 >> [Padëgjueshme] 505 00:25:16,090 --> 00:25:16,900 >> Gjuha 1: Po. 506 00:25:16,900 --> 00:25:18,770 Ajo thjesht kopje nga çdo gjë atje. 507 00:25:18,770 --> 00:25:23,270 Pra, nëse ju djema keni përdorur ndonjëherë CAT dhe pastaj emrin e disa file-- 508 00:25:23,270 --> 00:25:26,240 Unë nuk e di nëse ndonjë prej jush kanë bërë ndonjëherë që në terminalin tuaj. 509 00:25:26,240 --> 00:25:29,630 Por në qoftë se ju përdorni ndonjëherë command CAT-- C-A-T-- 510 00:25:29,630 --> 00:25:31,880 dhe pastaj çfarëdo fotografi keni there-- atë 511 00:25:31,880 --> 00:25:37,260 printon atë në terminalin tuaj, e cila mund të jetë super i dobishëm për disa gjëra. 512 00:25:37,260 --> 00:25:38,746 Unë e përdorin atë shumë. 513 00:25:38,746 --> 00:25:40,120 Ka që e bëjnë kuptim për të gjithë? 514 00:25:40,120 --> 00:25:41,480 515 00:25:41,480 --> 00:25:42,100 Ftohtë? 516 00:25:42,100 --> 00:25:46,530 >> OK kështu që detyra juaj now-- ose nga veten ose me njerëzit rreth you-- 517 00:25:46,530 --> 00:25:54,930 është që të shkruani vetëm një program të thjeshtë që vetëm do të shkruaj "Përshëndetje, botë!" 518 00:25:54,930 --> 00:25:56,255 nga një skedar. 519 00:25:56,255 --> 00:26:00,215 >> [Padëgjueshme] 520 00:26:00,215 --> 00:26:56,210 521 00:26:56,210 --> 00:26:57,040 >> [Padëgjueshme] 522 00:26:57,040 --> 00:26:59,248 >> Gjuha 1: unë kam qenë si, bëri Bëj që javën e shkuar keq? 523 00:26:59,248 --> 00:27:00,201 524 00:27:00,201 --> 00:27:01,492 Unë nuk mendoj se ishte aq keq. 525 00:27:01,492 --> 00:27:02,479 526 00:27:02,479 --> 00:27:03,520 Unë jam i kënaqur që ju jeni të gjithë këtu. 527 00:27:03,520 --> 00:27:04,655 Me të vërtetë më bën të lumtur. 528 00:27:04,655 --> 00:27:07,565 529 00:27:07,565 --> 00:27:10,160 Unë jam një vajzë e kënaqësitë e thjeshta. 530 00:27:10,160 --> 00:27:11,688 Unë ashtu si kur seksioni im merr pjesë. 531 00:27:11,688 --> 00:27:13,830 532 00:27:13,830 --> 00:27:18,270 Kështu që unë jam vetëm duke u nisur për këtë ju djema kështu që ne mund kodin bashku. 533 00:27:18,270 --> 00:27:22,290 Mua nuk më pëlqen vënë dikush në spot nëse nuk ju duan të jenë. 534 00:27:22,290 --> 00:27:26,486 535 00:27:26,486 --> 00:27:30,086 >> AUDIENCA: Për quiz, të bëjë ne kemi për të shkruar një program? 536 00:27:30,086 --> 00:27:33,260 >> Gjuha 1: Ju mund të kërkohet për të shkruar programe të thjeshta me dorë. 537 00:27:33,260 --> 00:27:35,940 538 00:27:35,940 --> 00:27:36,590 Yup. 539 00:27:36,590 --> 00:27:38,510 >> AUDIENCA: quiz është javën e ardhshme, e drejtë? 540 00:27:38,510 --> 00:27:40,108 >> Gjuha 1: quiz është të mërkurën e ardhshme. 541 00:27:40,108 --> 00:27:40,855 542 00:27:40,855 --> 00:27:43,730 Kjo do të thotë se është një e bukur [? CSE?] nota partisë më pas, e cila 543 00:27:43,730 --> 00:27:50,390 do të thotë që ju do të merrni rezultatet tuaja mbrapa se night-- në atë kohë? 544 00:27:50,390 --> 00:27:50,890 Kush e di? 545 00:27:50,890 --> 00:27:51,973 Por kjo do të jetë atë natë. 546 00:27:51,973 --> 00:28:02,020 547 00:28:02,020 --> 00:28:02,855 >> Dakord. 548 00:28:02,855 --> 00:28:04,250 Si duam të fillojë këtë? 549 00:28:04,250 --> 00:28:07,964 550 00:28:07,964 --> 00:28:09,630 Unë do të ju jap një hint-- fillon me këtë. 551 00:28:09,630 --> 00:28:11,455 >> AUDIENCA: Ju keni për të hapur një skedë. 552 00:28:11,455 --> 00:28:12,250 >> Gjuha 1: Po. 553 00:28:12,250 --> 00:28:14,060 Pra, çfarë ju doni të telefononi këtë? 554 00:28:14,060 --> 00:28:16,150 A ju vetëm doni të telefononi atë "file"? 555 00:28:16,150 --> 00:28:17,480 Le të bëjnë atë të lehtë. 556 00:28:17,480 --> 00:28:26,752 Pra, çfarë është fopen-- tonë Testi prodhimit do të jetë? 557 00:28:26,752 --> 00:28:36,130 E quajnë atë "Hello". 558 00:28:36,130 --> 00:28:37,810 Dhe çfarë është mënyra jonë? 559 00:28:37,810 --> 00:28:39,764 560 00:28:39,764 --> 00:28:41,055 Çfarë po bëjmë për këtë skedar? 561 00:28:41,055 --> 00:28:42,676 562 00:28:42,676 --> 00:28:43,500 >> AUDIENCA: Lexoni. 563 00:28:43,500 --> 00:28:44,401 564 00:28:44,401 --> 00:28:44,900 Shkrimi. 565 00:28:44,900 --> 00:28:46,191 Gjuha 1: Ne jemi me shkrim për të. 566 00:28:46,191 --> 00:28:47,360 567 00:28:47,360 --> 00:28:47,860 Bukuroshe. 568 00:28:47,860 --> 00:28:50,330 569 00:28:50,330 --> 00:28:52,860 OK, kështu që ne kemi këtë fotografi tani. 570 00:28:52,860 --> 00:28:54,920 571 00:28:54,920 --> 00:28:56,212 Çfarë duhet të bëjmë? 572 00:28:56,212 --> 00:28:57,420 AUDIENCA: Kontrolloni nëse është e pavlefshëm. 573 00:28:57,420 --> 00:28:59,820 Gjuha 1: Kontrolloni nëse është e null-- saktësisht. 574 00:28:59,820 --> 00:29:01,980 Kjo është ajo që unë doja të dëgjoj. 575 00:29:01,980 --> 00:29:05,930 Kjo duhet të jetë automatike, veçanërisht pretty much nga kjo pikë e tutje. 576 00:29:05,930 --> 00:29:07,530 577 00:29:07,530 --> 00:29:10,950 Nëse ju filloni segfaulting, ju ndoshta nuk e shikoni for null diku. 578 00:29:10,950 --> 00:29:12,480 Nëntë herë nga dhjetë, kjo është do të jetë gabim tuaj. 579 00:29:12,480 --> 00:29:15,400 Pra, nëse ju mund të merrni vetëm në zakon, gjithmonë kontrolloni nëse është e pavlefshëm, 580 00:29:15,400 --> 00:29:18,150 jeta juaj do të jenë të e bukur dhe easy-- apo më të lehtë. 581 00:29:18,150 --> 00:29:19,480 >> Pra, kontrolloni për të parë nëse ajo është e pavlefshme. 582 00:29:19,480 --> 00:29:21,200 583 00:29:21,200 --> 00:29:24,820 Pra, në qoftë se nuk është i pavlefshëm, i cili është ajo që është e barabartë me zhurmë 584 00:29:24,820 --> 00:29:26,784 means-- nuk null-- është e vlefshme. 585 00:29:26,784 --> 00:29:27,700 Çfarë duam të bëjmë? 586 00:29:27,700 --> 00:29:29,750 587 00:29:29,750 --> 00:29:31,570 Ne vetëm duam të shtypura në këtë dosje, e drejtë? 588 00:29:31,570 --> 00:29:32,923 Pra, çfarë do të shkojmë për të përdorur? 589 00:29:32,923 --> 00:29:34,092 >> AUDIENCA: Fprintf 590 00:29:34,092 --> 00:29:36,800 >> Gjuha 1: Fprintf-- bukur. 591 00:29:36,800 --> 00:29:38,150 592 00:29:38,150 --> 00:29:44,000 Dhe fprintf merr dy arguments-- aty ku ajo që po ndodh dhe ajo që ne duam të shtypura. 593 00:29:44,000 --> 00:29:45,820 Pra, çfarë është e para? 594 00:29:45,820 --> 00:29:46,570 Ku është ajo shkon? 595 00:29:46,570 --> 00:29:47,490 >> AUDIENCA: dokumentit. 596 00:29:47,490 --> 00:29:48,785 >> Gjuha 1: Ajo do të paraqesë. 597 00:29:48,785 --> 00:29:49,784 598 00:29:49,784 --> 00:29:50,950 Dhe çfarë duam të shtypura? 599 00:29:50,950 --> 00:29:52,900 600 00:29:52,900 --> 00:29:58,065 "Hello, bota!" 601 00:29:58,065 --> 00:29:58,565 Dakord. 602 00:29:58,565 --> 00:30:03,670 Ne kemi një thing-- fundit një paradigmë e madhe këtu. 603 00:30:03,670 --> 00:30:04,479 604 00:30:04,479 --> 00:30:05,145 AUDIENCA: Mbylle. 605 00:30:05,145 --> 00:30:05,853 Gjuha 1: Mbylle. 606 00:30:05,853 --> 00:30:09,990 607 00:30:09,990 --> 00:30:10,540 Nuk ju shkoni. 608 00:30:10,540 --> 00:30:13,384 >> AUDIENCA: A ndodh kjo nëse skedari është i pavlefshëm? 609 00:30:13,384 --> 00:30:15,050 Gjuha 1: Jo, kjo është në qoftë se nuk është i pavlefshëm. 610 00:30:15,050 --> 00:30:16,881 AUDIENCA: Oh, në qoftë se është not-- OK. 611 00:30:16,881 --> 00:30:21,728 612 00:30:21,728 --> 00:30:25,410 Për fopen dhe pastaj dy argumente që shkojnë brenda, 613 00:30:25,410 --> 00:30:27,655 çfarë do të thotë përsëri argumenti i parë? 614 00:30:27,655 --> 00:30:30,392 >> Gjuha 1: Argumenti është ashtu si emrin e file 615 00:30:30,392 --> 00:30:31,350 se ju doni të shkoni në. 616 00:30:31,350 --> 00:30:36,020 Pra, pas kësaj shkon, ju do të kanë disa fotografi të quajtur "hello" 617 00:30:36,020 --> 00:30:38,320 se kishte "Hello, World", brenda saj. 618 00:30:38,320 --> 00:30:38,820 Kjo është e gjitha. 619 00:30:38,820 --> 00:30:39,500 Vetëm emri. 620 00:30:39,500 --> 00:30:42,685 621 00:30:42,685 --> 00:30:48,650 >> AUDIENCA: Dhe që nga ajo e shkruar, File nuk duhet të ekzistojë tashmë. 622 00:30:48,650 --> 00:30:49,675 Është se ajo që keni thënë? 623 00:30:49,675 --> 00:30:50,410 >> Gjuha 1: E drejta. 624 00:30:50,410 --> 00:30:50,910 Pikërisht. 625 00:30:50,910 --> 00:30:53,110 626 00:30:53,110 --> 00:30:55,839 Nëse "Hello", si një fotografi nuk ekziston ende, është e 627 00:30:55,839 --> 00:30:58,380 do të krijojë një skedar të quajtur Hello "dhe shkruaj për atë për ju. 628 00:30:58,380 --> 00:30:59,631 629 00:30:59,631 --> 00:31:03,610 >> AUDIENCA: Kur ju jeni duke thënë program për shkroi file, 630 00:31:03,610 --> 00:31:08,075 pse ju shkruani "file" në vend të emri i file dhe fprintf-- 631 00:31:08,075 --> 00:31:13,600 >> Gjuha 1: Sepse në këtë rast, ne kemi që FILE-- të madhe të gjithë në yll caps--, 632 00:31:13,600 --> 00:31:14,260 file. 633 00:31:14,260 --> 00:31:17,370 Pra, kjo është një tregues për fotografi që ju jeni duke folur rreth. 634 00:31:17,370 --> 00:31:19,930 Kjo është mënyra se si ne vetëm referohet atij. 635 00:31:19,930 --> 00:31:24,850 Pra, në këtë rast, ju mund të mendoj për Aha file--, 636 00:31:24,850 --> 00:31:31,271 ne mund të përdorim this-- fotografi këtu i referohet hapjes së "Hello" 637 00:31:31,271 --> 00:31:32,145 dhe lënë atë të shkruar. 638 00:31:32,145 --> 00:31:34,728 >> AUDIENCA: A mund të vënë një "Hello" në vend të kësaj [? i thjesht?] f fotografi? 639 00:31:34,728 --> 00:31:40,160 Gjuha 1: Jo, sepse "Hello" duhet të jetë e hapur dhe e shkrueshme. 640 00:31:40,160 --> 00:31:41,820 641 00:31:41,820 --> 00:31:45,980 Paraqesë këtu është si një destinimit që thotë OK, ne 642 00:31:45,980 --> 00:31:49,190 kanë këtë hello-- file-- se ne jemi duke kërkuar në. 643 00:31:49,190 --> 00:31:50,680 Ajo ka qenë e hapur. 644 00:31:50,680 --> 00:31:52,140 Dhe ne jemi duke shkuar për të shkruar për të. 645 00:31:52,140 --> 00:31:55,130 Në qoftë se ju përdorni vetëm "Hello", që është encapsulated në të. 646 00:31:55,130 --> 00:31:56,846 Pra, kjo do të trullos. 647 00:31:56,846 --> 00:31:58,590 648 00:31:58,590 --> 00:32:00,300 Unë do të thotë, ju mund të ketë quajtur atë. 649 00:32:00,300 --> 00:32:03,960 Ju mund të keni bërë fotografi, star, "Hello", është e barabartë me atë. 650 00:32:03,960 --> 00:32:07,840 Por pika e tërë është se ju nevojë për një tregues fotografi yll në mënyrë 651 00:32:07,840 --> 00:32:09,281 të jenë në gjendje të përdorin këto funksione. 652 00:32:09,281 --> 00:32:11,280 AUDIENCA: Mund të bëni fotografi, yll, fotografi, "Hello" 653 00:32:11,280 --> 00:32:13,113 ose ju keni për të vënë paraqesë yll, fotografi nga ai? 654 00:32:13,113 --> 00:32:16,330 Gjuha 1: Ju mund të bëjë fotografi, yll, "Hello". 655 00:32:16,330 --> 00:32:19,790 Ju mund ta ndryshoni këtë në çfarëdo emri që ju dëshironi. 656 00:32:19,790 --> 00:32:22,114 Kjo është krejtësisht arbitrare se çfarë emri është. 657 00:32:22,114 --> 00:32:23,179 658 00:32:23,179 --> 00:32:24,220 Ju mund të emrit atë gjë. 659 00:32:24,220 --> 00:32:25,501 660 00:32:25,501 --> 00:32:28,020 Emri atë fluturues spageti, në qoftë se ju të kërkuar. 661 00:32:28,020 --> 00:32:29,690 >> AUDIENCA: Çfarë është "w" në thonjëza për të? 662 00:32:29,690 --> 00:32:31,540 >> Gjuha 1: "w" është vetëm mënyra. 663 00:32:31,540 --> 00:32:33,170 Pra, ne jemi me shkrim tek kjo skedë. 664 00:32:33,170 --> 00:32:34,410 665 00:32:34,410 --> 00:32:35,320 Gjithkush e mirë? 666 00:32:35,320 --> 00:32:36,227 Clear? 667 00:32:36,227 --> 00:32:36,981 Po. 668 00:32:36,981 --> 00:32:40,365 >> Audienca: Pra, kur ai shkruan këtë paraqesë, ku nuk kemi pastaj të gjeni se fotografi? 669 00:32:40,365 --> 00:32:43,820 >> Gjuha 1: Ajo do të jetë në të njëjtin Lista se ju jeni aktualisht në. 670 00:32:43,820 --> 00:32:45,650 671 00:32:45,650 --> 00:32:48,880 Nëse ju jeni në pset tre dhe ju drejtuar këtë, brenda pset tuaj 672 00:32:48,880 --> 00:32:52,600 tre dosje do të jetë kjo skedë të quajtur "Hello". 673 00:32:52,600 --> 00:32:53,160 Ftohtë? 674 00:32:53,160 --> 00:32:53,757 Gjithkush e mirë? 675 00:32:53,757 --> 00:32:55,840 Unë të ndjehen si ju jeni të gjithë marrë atë, e cila është e madhe. 676 00:32:55,840 --> 00:32:57,290 677 00:32:57,290 --> 00:32:57,790 OK. 678 00:32:57,790 --> 00:33:05,960 Pra, përsëri në show-- time rrëshqitje I love kur gjërat të punojnë. 679 00:33:05,960 --> 00:33:08,674 OK, pointers-- A ju djema të ngazëllyer? 680 00:33:08,674 --> 00:33:09,465 Pointers janë të mëdha. 681 00:33:09,465 --> 00:33:11,581 682 00:33:11,581 --> 00:33:13,580 Ata marrin pak të përfundojë kokën tuaj rreth. 683 00:33:13,580 --> 00:33:15,288 Ky është viti im i dytë mësimdhënies pointers. 684 00:33:15,288 --> 00:33:16,850 Dhe unë mendoj se unë në fund mori atë. 685 00:33:16,850 --> 00:33:18,650 Pra, nëse ju luftojnë, kjo është OK. 686 00:33:18,650 --> 00:33:19,940 687 00:33:19,940 --> 00:33:24,070 Siç kam thënë më parë, duke tërhequr fotot ndihmon shumë me gjëra në CS, 688 00:33:24,070 --> 00:33:27,400 sa më shumë që unë mendoj se njerëzit kanë tendencë për të menduar oh, ne jemi në një kompjuter. 689 00:33:27,400 --> 00:33:28,399 Ne duhet vetëm kodin. 690 00:33:28,399 --> 00:33:30,190 Vizatim foto No-- me të vërtetë do të ju ndihmojë. 691 00:33:30,190 --> 00:33:32,773 Dhe unë me të vërtetë ju inkurajojmë që të trokitje e lehtë në anën tuaj kindergartner 692 00:33:32,773 --> 00:33:35,010 dhe të sjellë nga crayons ose shënuesit dhe barazim. 693 00:33:35,010 --> 00:33:36,110 Sepse kjo do të ju ndihmojë. 694 00:33:36,110 --> 00:33:39,380 Dhe në qoftë se ju shihni mua në orarit të punës, I do të mbante rreth kollonat e letrës 695 00:33:39,380 --> 00:33:41,580 me lapsa vizatim gjërat jashtë. 696 00:33:41,580 --> 00:33:44,370 >> Pra, sidomos me pointers-- barazim fotografi. 697 00:33:44,370 --> 00:33:47,970 Dhe unë jam i sigurt se ne jemi të vërtetë do të të jetë tërhequr disa fotografi këtu. 698 00:33:47,970 --> 00:33:51,270 >> Pra, ju djema të gjithë e mori për të parë Binky, kjo gjë ftohtë claymation. 699 00:33:51,270 --> 00:33:54,720 Dhe ne mendojmë se është me të vërtetë qesharake, kur ai shpërthen në një bandë e copa. 700 00:33:54,720 --> 00:33:56,280 701 00:33:56,280 --> 00:33:57,755 Kjo është një lehtësim komik për klasë. 702 00:33:57,755 --> 00:34:02,140 703 00:34:02,140 --> 00:34:05,900 C [padëgjueshme] kjo aftësi e madhe të jetë në gjendje për të kontrolluar kujtesën. 704 00:34:05,900 --> 00:34:10,090 Dhe kjo është një nga gjërat që me të vërtetë e bën atë një gjuhë të tillë të fuqishme. 705 00:34:10,090 --> 00:34:13,469 Por me vjen fuqia e madhe përgjegjësi e madhe. 706 00:34:13,469 --> 00:34:16,230 Dhe gjëra të çmendur mund të ndodhë në qoftë se ju nuk jeni të kujdesshëm. 707 00:34:16,230 --> 00:34:18,560 Pra, kur ju jeni duke përdorur pointers, ju doni të bëni 708 00:34:18,560 --> 00:34:21,440 Sigurohuni që ju të vërtetë kuptojnë pikërisht ajo që ju jeni duke bërë. 709 00:34:21,440 --> 00:34:25,530 Shpresojmë tjetër pak koha do t'ju ndihmojë të vërtetë kuptojnë 710 00:34:25,530 --> 00:34:27,850 pointers, se si të përdorin ato, dhe si për të manipuluar ato. 711 00:34:27,850 --> 00:34:29,170 712 00:34:29,170 --> 00:34:33,460 >> Kështu memory-- Unë jam i sigurt që ne kemi parë këtë diagram parë. 713 00:34:33,460 --> 00:34:38,540 Pra, kjo është vetëm një diagram i thjeshtë i se si gjërat mund të ruhen kujtesës. 714 00:34:38,540 --> 00:34:43,145 Pra, ju në thelb kanë këto vargjeve të mëdha të blloqeve një byte 715 00:34:43,145 --> 00:34:46,000 është ajo që ne kemi here-- vogël increments nga një çdo herë. 716 00:34:46,000 --> 00:34:51,810 Kjo është magji [padëgjueshme] kështu bllokon tetë-bit. 717 00:34:51,810 --> 00:34:55,510 Dhe çdo bllok është i lidhur me disa adresa heksadecimal. 718 00:34:55,510 --> 00:34:58,750 Pra, nëse ju shihni ndonjëherë 0x, kjo është vetëm notating 719 00:34:58,750 --> 00:35:00,670 se kjo është një adresë heksadecimal. 720 00:35:00,670 --> 00:35:03,970 Ju mund të marrë kjo do të thotë disa adresa në kujtesë. 721 00:35:03,970 --> 00:35:06,935 Ne jemi duke folur në lidhje me adresat e memories sa herë që ju shihni hexadecimal. 722 00:35:06,935 --> 00:35:10,420 723 00:35:10,420 --> 00:35:14,630 >> Ne kemi ints janë variabla, gjithandej janë variabla që dyqan. 724 00:35:14,630 --> 00:35:16,260 Pra ints ints dyqan. 725 00:35:16,260 --> 00:35:17,430 Dyqan gjithandej gjithandej. 726 00:35:17,430 --> 00:35:20,260 Pra, ne gjithashtu kemi pointers se dyqan kujtesës adresat. 727 00:35:20,260 --> 00:35:21,660 Kjo është një lloj i hartës. 728 00:35:21,660 --> 00:35:24,240 Pointers janë ekskluzivisht për adresat e kujtesës. 729 00:35:24,240 --> 00:35:25,780 730 00:35:25,780 --> 00:35:27,292 Pra, kjo është si llojin tuaj atje. 731 00:35:27,292 --> 00:35:29,550 732 00:35:29,550 --> 00:35:34,470 Pajisja juaj është 32-bit, që do të thotë që adresa juaj e kujtesës është katër bytes. 733 00:35:34,470 --> 00:35:37,830 Kështu që çdo tregues që ju keni po ashtu do të jetë katër bytes. 734 00:35:37,830 --> 00:35:43,200 Ose tjetër nëse është e katër bytes, memorie është katër bytes. 735 00:35:43,200 --> 00:35:44,790 Dyqan kujtesës pointers. 736 00:35:44,790 --> 00:35:46,430 Prandaj, ata janë katër bytes. 737 00:35:46,430 --> 00:35:48,460 Cool-- duan vetëm për të përforcuar atë. 738 00:35:48,460 --> 00:35:50,120 739 00:35:50,120 --> 00:35:52,220 >> Ju duhet të merrni këtë komik tani. 740 00:35:52,220 --> 00:35:55,040 Unë nuk e di se sa prej jush janë tifozët xkcd, por unë dua xkcd. 741 00:35:55,040 --> 00:35:55,780 Kjo është e madhe. 742 00:35:55,780 --> 00:35:57,290 743 00:35:57,290 --> 00:35:57,790 >> Dakord. 744 00:35:57,790 --> 00:36:01,640 Pra, duke krijuar pointers-- siç kam thënë, se është pretty much ashtu si çdo gjë tjetër. 745 00:36:01,640 --> 00:36:02,930 Ju keni një lloj. 746 00:36:02,930 --> 00:36:04,050 Ju keni një emër. 747 00:36:04,050 --> 00:36:04,810 E drejtë? 748 00:36:04,810 --> 00:36:10,410 Kjo është ajo që ne kemi atje. [? Hex?] Yll do të thotë se është një tregues, 749 00:36:10,410 --> 00:36:12,250 dhe pastaj çdo gjë që ju doni të telefononi atë. 750 00:36:12,250 --> 00:36:15,770 Pra, lloji paraqet atë që ju mund të ruajë. 751 00:36:15,770 --> 00:36:16,850 752 00:36:16,850 --> 00:36:17,990 Të gjithë të drejtë? 753 00:36:17,990 --> 00:36:24,350 Në të njëjtën mënyrë që në qoftë se ne bëjmë ints, ne e dimë se ne jemi ruajtjen e një int atje. 754 00:36:24,350 --> 00:36:25,990 755 00:36:25,990 --> 00:36:30,280 Me një akrep, atë mban një adresë e memories. 756 00:36:30,280 --> 00:36:34,240 Por çfarë do të thotë është that-- këtu është ku një vizatim do të vijë në volitshëm. 757 00:36:34,240 --> 00:36:36,170 758 00:36:36,170 --> 00:36:45,980 Pra, në këtë rast, ne kemi disa value-- le të themi katër. 759 00:36:45,980 --> 00:36:49,306 Katër është në adresën e një. 760 00:36:49,306 --> 00:36:49,805 OK? 761 00:36:49,805 --> 00:36:51,550 762 00:36:51,550 --> 00:36:56,170 >> Kjo e para here do të thotë se kjo është një 2x akrep. 763 00:36:56,170 --> 00:36:56,740 E drejtë? 764 00:36:56,740 --> 00:36:57,628 Kjo është një akrep x. 765 00:36:57,628 --> 00:36:58,852 766 00:36:58,852 --> 00:37:00,940 x mund të jetë diçka, çfarëdo. 767 00:37:00,940 --> 00:37:01,960 768 00:37:01,960 --> 00:37:05,130 Çfarëdo x is-- thonë se x është katër. 769 00:37:05,130 --> 00:37:07,280 Ajo do të ruajtur Adresa e kujtesës këtu. 770 00:37:07,280 --> 00:37:12,260 Pra int, yll, x-- kjo është disa slot tjetër në memory-- 771 00:37:12,260 --> 00:37:13,590 kush e di se çfarë është kjo. 772 00:37:13,590 --> 00:37:15,430 Por kjo do të ruajtur një adresë këtu. 773 00:37:15,430 --> 00:37:27,040 Pra, kjo do të jetë like-- në këtë rast, Çfarëdo, 774 00:37:27,040 --> 00:37:32,630 është ruajtur në 0x1-- çdo gjë që është ruajtur në adresën që pointer tonë mban, 775 00:37:32,630 --> 00:37:35,280 duhet të përputhen me çfarë ne kemi përcaktuar. 776 00:37:35,280 --> 00:37:40,330 Pra, në 0x1, në këtë rast, kjo është e x. 777 00:37:40,330 --> 00:37:42,500 778 00:37:42,500 --> 00:37:49,340 Kjo vetëm mund të jetë kurrë një int ndërkohë që ne jemi duke përdorur këtë. 779 00:37:49,340 --> 00:37:52,950 >> Në mënyrë të ngjashme, në qoftë se ne kemi tjetër 1y, çfarëdo 780 00:37:52,950 --> 00:37:59,130 adresa është ruajtur me një y ka të jetë një e njëjta gjë char-- me z. 781 00:37:59,130 --> 00:38:05,840 Në të njëjtën mënyrë, kur ju të përpiqet dhe të bëjë intx barabartë 0.4, 782 00:38:05,840 --> 00:38:09,275 ajo do të çirrem në ju dhe do të jetë si nuk ju tha se ju të kërkuar një int. 783 00:38:09,275 --> 00:38:10,525 Kjo është menduar të jetë një int. 784 00:38:10,525 --> 00:38:11,900 Stop duke u përpjekur për ta bërë atë një noton. 785 00:38:11,900 --> 00:38:14,150 >> Pra, le gjërat të jetë ajo që ata duan të jenë. 786 00:38:14,150 --> 00:38:15,159 787 00:38:15,159 --> 00:38:16,200 Le gjëra të jetë vetë. 788 00:38:16,200 --> 00:38:19,380 789 00:38:19,380 --> 00:38:23,450 Pra, gjëja e madhe është vetëm çfarëdo lloj pointer 790 00:38:23,450 --> 00:38:26,101 kjo është, kjo është vetëm gjë që ju mund të ruajë aty. 791 00:38:26,101 --> 00:38:26,600 OK? 792 00:38:26,600 --> 00:38:27,910 793 00:38:27,910 --> 00:38:31,160 Me praktikë, si me javën e kaluar, çdo gjë 794 00:38:31,160 --> 00:38:32,817 Duket me të vërtetë lloji i abstrakt. 795 00:38:32,817 --> 00:38:34,150 Ne jemi duke shkuar për të bërë disa praktikë. 796 00:38:34,150 --> 00:38:36,760 Ajo duhet të bëjë më shumë kuptim. 797 00:38:36,760 --> 00:38:44,580 >> Pra, referenca dhe dereferencing-- është të vërtetë e rëndësishme për të marrë këto të drejtë. 798 00:38:44,580 --> 00:38:46,630 Unë ende kanë për të rifreskoni çdo tani dhe pastaj. 799 00:38:46,630 --> 00:38:48,450 Dhe unë jam si kurthe, të cilat e bëjnë dua? 800 00:38:48,450 --> 00:38:56,080 Pra, simbol të vërtetë do të japë ju referencë ose adresa e. 801 00:38:56,080 --> 00:39:00,100 Pra, ajo kthen adresë në memorie e cila variabël është ruajtur. 802 00:39:00,100 --> 00:39:01,170 803 00:39:01,170 --> 00:39:07,020 Pra, kjo do të vërtetë të kthehet tek ju një hexadecimal, ndërsa dereferencing atë 804 00:39:07,020 --> 00:39:10,641 është në të vërtetë do të ju jap Të dhënat që ruhen atje. 805 00:39:10,641 --> 00:39:11,140 OK? 806 00:39:11,140 --> 00:39:12,680 807 00:39:12,680 --> 00:39:16,060 Pra, ne do të shikojmë në një shembull të vërtetë të shpejtë, ose në të vërtetë up ardhshëm. 808 00:39:16,060 --> 00:39:18,050 809 00:39:18,050 --> 00:39:19,150 >> OK. 810 00:39:19,150 --> 00:39:21,790 Pra, ne duhet të mendojmë të vërtetë kujdes në lidhje me këtë. 811 00:39:21,790 --> 00:39:23,860 Pra, këtu ne kemi një numër i plotë x. 812 00:39:23,860 --> 00:39:26,485 Unë jam duke shkuar për të përpiqen dhe të nxjerrë këtë më të mirë të aftësive të mia. 813 00:39:26,485 --> 00:39:30,230 814 00:39:30,230 --> 00:39:32,410 Pra, ne do të kemi këtë slot x. 815 00:39:32,410 --> 00:39:35,850 816 00:39:35,850 --> 00:39:37,315 Dhe kjo është ruajtjen pesë. 817 00:39:37,315 --> 00:39:38,640 818 00:39:38,640 --> 00:39:40,090 Adresa e saj është 0x4. 819 00:39:40,090 --> 00:39:41,920 820 00:39:41,920 --> 00:39:43,160 Ftohtë? 821 00:39:43,160 --> 00:39:44,100 Të gjithë të mirë. 822 00:39:44,100 --> 00:39:45,470 >> Deri tani ne kemi këtë tregues. 823 00:39:45,470 --> 00:39:46,916 824 00:39:46,916 --> 00:39:47,990 Ajo ishte këtu. 825 00:39:47,990 --> 00:39:52,130 826 00:39:52,130 --> 00:39:57,560 Dhe simbol na jep adresën e diçkaje. 827 00:39:57,560 --> 00:40:00,780 Pra, në këtë rast, kjo është adresa e x. 828 00:40:00,780 --> 00:40:01,875 Cila është adresa e x? 829 00:40:01,875 --> 00:40:05,660 830 00:40:05,660 --> 00:40:12,590 04-- dhe ky tregues është në 0x08. 831 00:40:12,590 --> 00:40:14,490 832 00:40:14,490 --> 00:40:14,990 Ftohtë? 833 00:40:14,990 --> 00:40:16,570 834 00:40:16,570 --> 00:40:21,570 Kështu që ju mund të mendoni në lidhje me këtë akrep, 04, vetëm pikë këtu. 835 00:40:21,570 --> 00:40:22,840 836 00:40:22,840 --> 00:40:25,740 Dhe ata janë quajtur pointers sepse si ne të merrni më shumë në këtë, 837 00:40:25,740 --> 00:40:28,450 ju jeni duke shkuar për të parë duke treguar të gjërave. 838 00:40:28,450 --> 00:40:31,470 Dhe një bllok duke treguar për një tjetër Bllok do të bëjë shumë më tepër kuptim. 839 00:40:31,470 --> 00:40:32,760 840 00:40:32,760 --> 00:40:33,890 Pra, këtu janë dy. 841 00:40:33,890 --> 00:40:38,230 Dhe pastaj ne kemi disa kopje, e cila është 0x0c what--. 842 00:40:38,230 --> 00:40:41,290 843 00:40:41,290 --> 00:40:43,420 Dhe kjo do të dereference pointer tonë. 844 00:40:43,420 --> 00:40:46,790 >> Pra, çfarë është e thënë se është e OK, këtu është akrep tonë. 845 00:40:46,790 --> 00:40:53,090 Vlera dyqane është 0x04, dhe çfarë ajo është duke thënë se është të shkoni në këtë adresë 846 00:40:53,090 --> 00:40:54,300 dhe më tregoni se çfarë është në të. 847 00:40:54,300 --> 00:40:55,520 848 00:40:55,520 --> 00:40:57,710 Pra, kjo është në mënyrë efektive çfarë është duke bërë këtë shigjetë. 849 00:40:57,710 --> 00:40:58,750 850 00:40:58,750 --> 00:41:01,280 Ju mund të mendoj për këtë si yll tuaj. 851 00:41:01,280 --> 00:41:05,410 Pra OK, kur bëjmë yll, kjo do të thotë të ndjekë. 852 00:41:05,410 --> 00:41:06,810 Shkoni në këtë adresë. 853 00:41:06,810 --> 00:41:11,430 Dhe kjo është në thelb vetëm pas kjo shigjetë me këtë copë e kujtesës. 854 00:41:11,430 --> 00:41:15,380 Dhe na japë atë që është në të, e cila është 5. 855 00:41:15,380 --> 00:41:18,840 Kjo është arsyeja pse kopje jonë është e barabartë me 5. 856 00:41:18,840 --> 00:41:20,120 Ka që e bëjnë kuptim? 857 00:41:20,120 --> 00:41:22,769 A ka dikush nevojë për mua për të shkuar nëpërmjet që përsëri, ose më ngadalë? 858 00:41:22,769 --> 00:41:24,560 Ju dëshironi që të shkoj me atë edhe një herë? 859 00:41:24,560 --> 00:41:25,060 OK. 860 00:41:25,060 --> 00:41:27,549 861 00:41:27,549 --> 00:41:28,840 Ne jemi duke shkuar për rishikimin atë përsëri. 862 00:41:28,840 --> 00:41:31,930 863 00:41:31,930 --> 00:41:37,205 Kur ne fillim, ne të gjithë pajtohemi, ne kemi disa copë e kujtesës që është një variabël 864 00:41:37,205 --> 00:41:40,890 x se ne kemi vendosur barabartë me 5. 865 00:41:40,890 --> 00:41:42,910 Ne nuk e kontrollojmë ku është në kujtesën. 866 00:41:42,910 --> 00:41:45,520 Pra, kjo është vetëm spot caktuar në mënyrë arbitrare. 867 00:41:45,520 --> 00:41:47,770 868 00:41:47,770 --> 00:41:48,731 Mirë atje? 869 00:41:48,731 --> 00:41:49,230 OK. 870 00:41:49,230 --> 00:41:50,420 871 00:41:50,420 --> 00:41:53,330 Pastaj ne të nisja një tregues për një int. 872 00:41:53,330 --> 00:41:56,900 Kjo është arsyeja pse ajo është e lejuar për të vënë në dukje x sepse ne kemi një int në këtu. 873 00:41:56,900 --> 00:42:00,840 Ne kemi një copë të memorie sepse ky akrep 874 00:42:00,840 --> 00:42:03,485 është një variabël ashtu si çdo gjë tjetër. 875 00:42:03,485 --> 00:42:06,615 Është caktuar në mënyrë arbitrare disa hapësirë ​​në memorie. 876 00:42:06,615 --> 00:42:07,630 877 00:42:07,630 --> 00:42:10,830 Dhe ajo që ruan është adresa e x. 878 00:42:10,830 --> 00:42:13,200 Simbol do të thotë adresën e x. 879 00:42:13,200 --> 00:42:14,575 Pra, çfarë është adresa e x? 880 00:42:14,575 --> 00:42:19,179 881 00:42:19,179 --> 00:42:20,614 >> AUDIENCA: Është zero-- 882 00:42:20,614 --> 00:42:21,280 Gjuha 1: 0x04. 883 00:42:21,280 --> 00:42:24,350 884 00:42:24,350 --> 00:42:25,940 Pra then-- fundit. 885 00:42:25,940 --> 00:42:30,650 Ne kemi disa copy-- përsëri vetëm një variabël. 886 00:42:30,650 --> 00:42:32,520 Pra, le të caktojë ndonjë vend arbitrar. 887 00:42:32,520 --> 00:42:35,260 888 00:42:35,260 --> 00:42:38,080 Dhe ne dereference pointer tonë. 889 00:42:38,080 --> 00:42:42,490 Ylli thotë të shkojnë në Adresa ruhet në treguesin tim. 890 00:42:42,490 --> 00:42:44,480 Më thuaj çfarë është atje. 891 00:42:44,480 --> 00:42:47,290 Pra, adresa ruajtur në treguesin tonë është 0x04. 892 00:42:47,290 --> 00:42:49,070 893 00:42:49,070 --> 00:42:51,310 Pra, ne do të shkojmë në atë adresë. 894 00:42:51,310 --> 00:42:52,402 895 00:42:52,402 --> 00:42:54,590 Është treguar në atë adresë. 896 00:42:54,590 --> 00:42:57,481 Çfarë është brenda këtij blloku kujtesës? 897 00:42:57,481 --> 00:42:57,980 Kjo është një pesë. 898 00:42:57,980 --> 00:42:59,210 899 00:42:59,210 --> 00:43:01,650 Pra, kjo është ajo që ne të caktojë kopje tonë. 900 00:43:01,650 --> 00:43:03,430 901 00:43:03,430 --> 00:43:04,860 Gjithkush e mirë? 902 00:43:04,860 --> 00:43:05,360 Ftohtë. 903 00:43:05,360 --> 00:43:07,010 904 00:43:07,010 --> 00:43:08,330 Fotot Again--. 905 00:43:08,330 --> 00:43:19,750 906 00:43:19,750 --> 00:43:25,200 >> Pra, ndjekja e vlerave here-- Jam do të le ju djema mendoni për këtë. 907 00:43:25,200 --> 00:43:26,550 908 00:43:26,550 --> 00:43:27,750 Ne mund të tërheqë një foto. 909 00:43:27,750 --> 00:43:31,260 Por unë dua që ju të provoni dhe arsyeja me këtë në tuaj për një minutë. 910 00:43:31,260 --> 00:44:01,430 911 00:44:01,430 --> 00:44:04,149 >> Që ata nuk kanë dhënë na një adresë shembull, 912 00:44:04,149 --> 00:44:06,940 Unë jam vetëm duke shkuar për të bërë x-- ampersand e cila duhet të ndihmojë të përzënë atë në shtëpi. 913 00:44:06,940 --> 00:44:07,950 Simbol do të thotë adresën. 914 00:44:07,950 --> 00:44:09,540 915 00:44:09,540 --> 00:44:12,360 >> Pra, në një të parë, të gjithë shkoni me rreshtin e parë. 916 00:44:12,360 --> 00:44:15,690 Disa x set të five-- disa slot rastit në kujtesën. 917 00:44:15,690 --> 00:44:17,660 918 00:44:17,660 --> 00:44:23,200 Akrep int yll është i barabartë në adresën e x, e drejtë? 919 00:44:23,200 --> 00:44:28,180 Int yll akrep krijon këtë bllok, e quan atë treguesin, 920 00:44:28,180 --> 00:44:30,650 dhe cakton atë në adresën e x. 921 00:44:30,650 --> 00:44:32,750 922 00:44:32,750 --> 00:44:34,230 Unë jam e tmerrshme në ampersands. 923 00:44:34,230 --> 00:44:36,460 924 00:44:36,460 --> 00:44:40,550 >> Tani ajo që ne po bëjmë është që ne themi OK, dereference pointer tonë. 925 00:44:40,550 --> 00:44:42,760 Pra, ne do të shkojmë në rregull, atë që në treguesin tonë? 926 00:44:42,760 --> 00:44:44,820 Është simbol x. 927 00:44:44,820 --> 00:44:49,400 Shko tek simbol x dhe reassign atë. 928 00:44:49,400 --> 00:44:51,620 929 00:44:51,620 --> 00:44:57,480 >> Deri tani, simbol x do të jetë 35. 930 00:44:57,480 --> 00:45:01,540 931 00:45:01,540 --> 00:45:05,174 Pra, në thelb, kur ju jeni dereferencing, ju shkoni OK. 932 00:45:05,174 --> 00:45:07,090 Ju do të jeni të tërhequr fotot si kjo. 933 00:45:07,090 --> 00:45:09,423 Ju do të jeni të tërhequr shigjetat tuaja mbi ku është. 934 00:45:09,423 --> 00:45:16,030 Kështu që të shkojnë në këtë slot në kujtesën dhe as më jepni që vlera e mbrapa, ose të ndryshojë atë. 935 00:45:16,030 --> 00:45:21,620 Në këtë rast, sepse ne jemi në këtë vlera, ne jemi caktimin ajo të jetë 35. 936 00:45:21,620 --> 00:45:24,700 Ndërsa në të fundit një, nëse vëreni, ne 937 00:45:24,700 --> 00:45:27,680 u caktimin çfarë ishte këtu diçka tjetër. 938 00:45:27,680 --> 00:45:30,450 939 00:45:30,450 --> 00:45:32,245 >> Pra, ata e kanë këtë tryezë mbresëlënëse. 940 00:45:32,245 --> 00:45:35,000 941 00:45:35,000 --> 00:45:36,890 Kjo nuk është edhe aq keq. 942 00:45:36,890 --> 00:45:37,970 Ju djema të punojnë në të. 943 00:45:37,970 --> 00:45:39,640 Unë jam duke shkuar për të nxjerrë atë në bord. 944 00:45:39,640 --> 00:45:41,306 Ne jemi duke shkuar për të mbushur atë së bashku, OK? 945 00:45:41,306 --> 00:45:42,290 946 00:45:42,290 --> 00:45:45,530 Pra, kap një letër, kapje një partner, të fillojë të punojë. 947 00:45:45,530 --> 00:45:53,897 948 00:45:53,897 --> 00:45:55,605 Unë jam duke shkuar për të marrë një pjesë më e madhe e shkumës. 949 00:45:55,605 --> 00:45:56,624 950 00:45:56,624 --> 00:45:58,150 Për shkak se ajo do të jetë shumë. 951 00:45:58,150 --> 00:45:59,410 952 00:45:59,410 --> 00:45:59,910 OK. 953 00:45:59,910 --> 00:48:08,567 954 00:48:08,567 --> 00:48:09,150 PROFESORI: OK. 955 00:48:09,150 --> 00:48:11,599 956 00:48:11,599 --> 00:48:12,890 Le të fillojmë me rreshtin e parë. 957 00:48:12,890 --> 00:48:14,070 958 00:48:14,070 --> 00:48:16,970 Ne do të fillojë atje, atëherë ju djema ndoshta mund të punojnë me disa më shumë. 959 00:48:16,970 --> 00:48:17,870 OK. 960 00:48:17,870 --> 00:48:19,810 a është e barabartë herë b c kështu që çfarë është një? 961 00:48:19,810 --> 00:48:21,420 962 00:48:21,420 --> 00:48:23,260 Kjo nuk është një pyetje mashtrim, unë premtoj. 963 00:48:23,260 --> 00:48:24,440 >> STUDENT: 4 herë 5. 964 00:48:24,440 --> 00:48:25,420 >> PROFESORI: 4 herë 5. 965 00:48:25,420 --> 00:48:25,920 20. 966 00:48:25,920 --> 00:48:26,730 Pra, çfarë është b? 967 00:48:26,730 --> 00:48:27,921 968 00:48:27,921 --> 00:48:28,420 STUDENT: 4. 969 00:48:28,420 --> 00:48:30,204 970 00:48:30,204 --> 00:48:31,043 >> PROFESORI: Dhe c? 971 00:48:31,043 --> 00:48:31,542 STUDENT: 5. 972 00:48:31,542 --> 00:48:32,083 PROFESORI: 5. 973 00:48:32,083 --> 00:48:35,960 Dhe atëherë kjo vetëm do të të një simbol ampersand, b, 974 00:48:35,960 --> 00:48:38,575 simbol c, e drejtë? 975 00:48:38,575 --> 00:48:39,728 976 00:48:39,728 --> 00:48:40,596 Jo keq. 977 00:48:40,596 --> 00:48:42,081 Është mjaft e thjeshtë. 978 00:48:42,081 --> 00:48:42,580 OK. 979 00:48:42,580 --> 00:48:44,300 Pra, në një tjetër. 980 00:48:44,300 --> 00:48:48,725 A është e barabartë me një herë c, në rast dikush ishte i panjohur me këtë. 981 00:48:48,725 --> 00:48:49,812 982 00:48:49,812 --> 00:48:53,300 Është e të gjithë të njohur me herë të barabartë? 983 00:48:53,300 --> 00:49:00,105 OK, e gjithë kjo means-- kjo është stenografi për një është e barabartë me një herë c. 984 00:49:00,105 --> 00:49:04,840 Ju gjithashtu mund të bëjë atë me ndarjen, me tepër, me zbritje. 985 00:49:04,840 --> 00:49:12,130 Ju mund të bëni një të barabartëve, ose një plus barabartë c do të thotë një e barabartë me një c plus, minus barabartë 986 00:49:12,130 --> 00:49:15,190 c do të jetë një e barabartë me një minus c. 987 00:49:15,190 --> 00:49:16,690 Është vetëm sheqeri sintaktik. 988 00:49:16,690 --> 00:49:19,380 989 00:49:19,380 --> 00:49:24,140 >> Pra, në këtë rast, një është e barabartë me një herë c do të na japë çfarë? 990 00:49:24,140 --> 00:49:25,910 991 00:49:25,910 --> 00:49:28,186 Përsëri, nuk është një pyetje mashtrim. 992 00:49:28,186 --> 00:49:28,965 >> STUDENT: 100. 993 00:49:28,965 --> 00:49:29,300 >> PROFESORI: 100. 994 00:49:29,300 --> 00:49:30,383 Ka ndryshuar ndonjë gjë tjetër? 995 00:49:30,383 --> 00:49:31,790 996 00:49:31,790 --> 00:49:32,290 Jo. 997 00:49:32,290 --> 00:49:37,380 998 00:49:37,380 --> 00:49:39,850 Ndoshta unë do të marrë fund mirë në ampersands mia. 999 00:49:39,850 --> 00:49:42,047 >> STUDENT: OK, sorry, se si e keni marrë 100? 1000 00:49:42,047 --> 00:49:42,630 PROFESORI: OK. 1001 00:49:42,630 --> 00:49:46,594 Kështu a është e barabartë tek a herë c, kështu që një herë c. 1002 00:49:46,594 --> 00:49:48,510 STUDENT: Oh, ju jeni duke përdorur a për previous-- 1003 00:49:48,510 --> 00:49:49,135 PROFESORI: Po. 1004 00:49:49,135 --> 00:49:51,450 Pra, këto janë vlerat tona më të fundit. 1005 00:49:51,450 --> 00:49:53,990 Këto janë ato që ju duhet të jenë të duke përdorur si ne shkojmë poshtë, OK. 1006 00:49:53,990 --> 00:49:57,290 1007 00:49:57,290 --> 00:50:01,520 Pra, b është e vetmja gjë që ndryshon, e drejtë? 1008 00:50:01,520 --> 00:50:02,910 Pra, le të plotësoni në çdo gjë tjetër. 1009 00:50:02,910 --> 00:50:09,110 1010 00:50:09,110 --> 00:50:11,330 B. Çfarë b do të jetë? 1011 00:50:11,330 --> 00:50:13,020 1012 00:50:13,020 --> 00:50:14,140 Të jesh apo të mos jesh. 1013 00:50:14,140 --> 00:50:18,680 1014 00:50:18,680 --> 00:50:20,240 Pra, çfarë është kjo e bën? 1015 00:50:20,240 --> 00:50:21,605 Cili është ylli pa bërë? 1016 00:50:21,605 --> 00:50:23,280 1017 00:50:23,280 --> 00:50:25,350 >> STUDENT: Kodi për vendndodhjen e pa. 1018 00:50:25,350 --> 00:50:26,390 1019 00:50:26,390 --> 00:50:27,480 >> STUDENT: Jo, jo mjaft. 1020 00:50:27,480 --> 00:50:29,470 Pra, kjo është një referencë d. 1021 00:50:29,470 --> 00:50:31,580 >> STUDENT: Pra, b është vlera duar e pa. 1022 00:50:31,580 --> 00:50:37,340 >> PROFESORI: Yeah, kështu që pa është adresa e një, e drejtë? 1023 00:50:37,340 --> 00:50:42,430 Pra, kjo është thënë shkoni ku a është ruhen dhe t'i jepte atë vlerë. 1024 00:50:42,430 --> 00:50:43,884 Pra, çfarë është b? 1025 00:50:43,884 --> 00:50:44,425 STUDENT: 100. 1026 00:50:44,425 --> 00:50:46,534 PROFESORI: 100. 1027 00:50:46,534 --> 00:50:47,450 Perfect. 1028 00:50:47,450 --> 00:50:49,879 OK, kështu pc është ajo që po ndryshon. 1029 00:50:49,879 --> 00:50:51,170 Çdo gjë tjetër mbetet e njëjtë. 1030 00:50:51,170 --> 00:50:57,160 1031 00:50:57,160 --> 00:50:58,620 Çfarë po pc do të jetë? 1032 00:50:58,620 --> 00:51:00,770 1033 00:51:00,770 --> 00:51:01,580 Detyrë e thjeshtë. 1034 00:51:01,580 --> 00:51:03,520 1035 00:51:03,520 --> 00:51:05,990 Pc është e barabartë me pa, dhe çfarë është e pa? 1036 00:51:05,990 --> 00:51:07,049 >> STUDENT: simbol a. 1037 00:51:07,049 --> 00:51:07,840 PROFESORI: Perfect. 1038 00:51:07,840 --> 00:51:09,490 1039 00:51:09,490 --> 00:51:10,740 Tani ne jemi duke marrë interesante. 1040 00:51:10,740 --> 00:51:12,310 1041 00:51:12,310 --> 00:51:15,230 OK, le të thyejnë këtë poshtë. 1042 00:51:15,230 --> 00:51:21,110 Së pari, çfarë është herë B C, sepse kjo është pjesa më e lehtë e këtij njërit, e drejtë? 1043 00:51:21,110 --> 00:51:22,360 Herë B c is-- 1044 00:51:22,360 --> 00:51:23,320 >> STUDENT: 500. 1045 00:51:23,320 --> 00:51:28,880 >> PROFESORI: Yeah, kështu që çfarë është kjo bën, 1046 00:51:28,880 --> 00:51:33,705 Nëse kjo është yll BP, çfarë është ndryshuar? 1047 00:51:33,705 --> 00:51:35,320 1048 00:51:35,320 --> 00:51:37,242 >> STUDENTORE: Çfarë është në the-- 1049 00:51:37,242 --> 00:51:38,200 PROFESORI: Çfarë është në b? 1050 00:51:38,200 --> 00:51:41,340 STUDENTORE: Çfarë është në hapësirë se BP është duke treguar. 1051 00:51:41,340 --> 00:51:43,406 PROFESORI: Dhe BP është vënë to-- 1052 00:51:43,406 --> 00:51:43,905 STUDENT: B. 1053 00:51:43,905 --> 00:51:46,740 PROFESORI: B. Pra e vetmja gjë ndryshon është b, e drejtë. 1054 00:51:46,740 --> 00:51:50,800 Herë Pra b c, 500. 1055 00:51:50,800 --> 00:51:52,367 Pra, kjo është ajo që ndryshon tani. 1056 00:51:52,367 --> 00:51:59,091 1057 00:51:59,091 --> 00:51:59,590 Ftohtë. 1058 00:51:59,590 --> 00:52:00,340 1059 00:52:00,340 --> 00:52:00,840 Bukuroshe. 1060 00:52:00,840 --> 00:52:01,905 Ju djema janë duke bërë të madh. 1061 00:52:01,905 --> 00:52:03,650 1062 00:52:03,650 --> 00:52:06,740 Të gjitha të drejtat, duke thyer këtë një poshtë. 1063 00:52:06,740 --> 00:52:08,050 1064 00:52:08,050 --> 00:52:09,630 C po ndryshon, e drejtë? 1065 00:52:09,630 --> 00:52:11,530 Pra, ne mund të plotësoni në çdo gjë tjetër. 1066 00:52:11,530 --> 00:52:12,540 1067 00:52:12,540 --> 00:52:13,205 Le të shohim. 1068 00:52:13,205 --> 00:52:19,125 1069 00:52:19,125 --> 00:52:19,625 OK. 1070 00:52:19,625 --> 00:52:21,420 1071 00:52:21,420 --> 00:52:24,740 Ne e dimë se c do të jetë produkt i dy numrave, e drejtë? 1072 00:52:24,740 --> 00:52:26,290 1073 00:52:26,290 --> 00:52:27,980 Çfarë dy numra, pse? 1074 00:52:27,980 --> 00:52:28,970 >> STUDENTORE: A dhe c? 1075 00:52:28,970 --> 00:52:31,930 >> PROFESORI: Pra a është e drejtë për një të parë. 1076 00:52:31,930 --> 00:52:34,385 Pra, ne jemi d referenca p e një, e drejtë? 1077 00:52:34,385 --> 00:52:35,390 1078 00:52:35,390 --> 00:52:42,870 P e një pikë në një, kështu që ne e dimë se kjo do të jetë 100 herë atë? 1079 00:52:42,870 --> 00:52:46,232 Times çfarë bën pikë për pc? 1080 00:52:46,232 --> 00:52:47,410 1081 00:52:47,410 --> 00:52:48,740 Pikët për një. 1082 00:52:48,740 --> 00:52:55,038 Pra 100 herë 100 është 10,000. 1083 00:52:55,038 --> 00:52:56,170 A kjo ka kuptim? 1084 00:52:56,170 --> 00:52:57,640 1085 00:52:57,640 --> 00:52:58,200 Ftohtë. 1086 00:52:58,200 --> 00:53:00,500 Shtrirje në shtëpi, djema, rreshtin e fundit. 1087 00:53:00,500 --> 00:53:01,190 OK. 1088 00:53:01,190 --> 00:53:02,160 Çfarë është ndryshuar këtu? 1089 00:53:02,160 --> 00:53:05,640 1090 00:53:05,640 --> 00:53:06,935 >> STUDENT: A. 1091 00:53:06,935 --> 00:53:09,435 PROFESORI: A. Perfect, kështu çdo gjë tjetër mund të qëndrojnë të njëjta. 1092 00:53:09,435 --> 00:53:16,210 1093 00:53:16,210 --> 00:53:16,710 OK. 1094 00:53:16,710 --> 00:53:17,970 Dhe çfarë është një? 1095 00:53:17,970 --> 00:53:23,610 1096 00:53:23,610 --> 00:53:26,060 Pra, kjo është një herë atë? 1097 00:53:26,060 --> 00:53:27,120 Kjo është yll BP. 1098 00:53:27,120 --> 00:53:29,750 1099 00:53:29,750 --> 00:53:34,490 Pra yll BP thotë këtu BP, pika e BP për të b. 1100 00:53:34,490 --> 00:53:35,370 >> STUDENT: 500. 1101 00:53:35,370 --> 00:53:36,230 >> PROFESORI: 500. 1102 00:53:36,230 --> 00:53:39,236 Pra, ne kemi 500 herë 100. 1103 00:53:39,236 --> 00:53:41,758 Kjo është 50.000. 1104 00:53:41,758 --> 00:53:43,216 Uf! 1105 00:53:43,216 --> 00:53:45,646 Shikoni në atë. 1106 00:53:45,646 --> 00:53:47,982 >> STUDENT: Pse kemi dhe c për last-- 1107 00:53:47,982 --> 00:53:48,690 PROFESORI: Na vjen keq. 1108 00:53:48,690 --> 00:53:50,080 STUDENT: Oh, OK. 1109 00:53:50,080 --> 00:53:51,600 PROFESORI: My keqe. 1110 00:53:51,600 --> 00:53:52,890 Shumë e shkrimit. 1111 00:53:52,890 --> 00:53:53,917 1112 00:53:53,917 --> 00:53:54,500 Gjithkush e mirë? 1113 00:53:54,500 --> 00:53:55,630 1114 00:53:55,630 --> 00:53:56,660 Jo shumë e keqe, e drejtë? 1115 00:53:56,660 --> 00:53:58,490 Vetëm merr pak ndërsa për të punuar me. 1116 00:53:58,490 --> 00:54:01,080 Nëse ju thyejnë atë poshtë, të kuptojnë se çfarë çdo pjesë 1117 00:54:01,080 --> 00:54:03,197 i referohet to-- si me çdo gjë kjo është, 1118 00:54:03,197 --> 00:54:05,780 yes-- thyejnë atë poshtë për pak Problemet dhe pastaj recombine, 1119 00:54:05,780 --> 00:54:07,345 dhe ju mund të bëni disa gjëra mbresëlënëse. 1120 00:54:07,345 --> 00:54:08,970 Nuk janë përgjigjet, por ne e bëmë atë. 1121 00:54:08,970 --> 00:54:10,324 1122 00:54:10,324 --> 00:54:11,115 Aritmetikë Pointer. 1123 00:54:11,115 --> 00:54:13,961 1124 00:54:13,961 --> 00:54:14,460 Ah. 1125 00:54:14,460 --> 00:54:15,510 Duart e mia janë të gjitha prej shkumësi. 1126 00:54:15,510 --> 00:54:17,970 Pra, duke shtuar apo zbritur int rregullon treguesin 1127 00:54:17,970 --> 00:54:21,890 sipas madhësisë së llojit të tregues. 1128 00:54:21,890 --> 00:54:22,940 1129 00:54:22,940 --> 00:54:28,390 Mos harroni se çdo lloj ka një madhësi të ndryshme? 1130 00:54:28,390 --> 00:54:34,890 Pra, si një të dyfishtë, ose një kohë të gjatë të gjatë është tetë dhe int është katër, por char është një. 1131 00:54:34,890 --> 00:54:38,360 >> Pra, çfarë ju doni të bëni is-- një gjë për të kujtuar 1132 00:54:38,360 --> 00:54:44,080 është vetëm se sa tuaj së Vlera akrep në fakt ndryshon 1133 00:54:44,080 --> 00:54:46,550 do të varet nga lloji i pointer është. 1134 00:54:46,550 --> 00:54:50,820 1135 00:54:50,820 --> 00:54:51,820 Gjithkush e mirë me këtë? 1136 00:54:51,820 --> 00:54:52,760 Mund ta zhdukur atë? 1137 00:54:52,760 --> 00:54:53,440 Ne jemi të mirë? 1138 00:54:53,440 --> 00:54:53,940 Awesome. 1139 00:54:53,940 --> 00:55:01,020 1140 00:55:01,020 --> 00:55:07,501 >> Pra, nëse kemi ndonjë akrep that-- kjo do të be-- unë jam 1141 00:55:07,501 --> 00:55:08,834 do ta bëjnë atë një akrep int. 1142 00:55:08,834 --> 00:55:10,610 1143 00:55:10,610 --> 00:55:12,760 Ajo ruan këtë. 1144 00:55:12,760 --> 00:55:14,210 1145 00:55:14,210 --> 00:55:20,170 Nëse ju do të thoni akrep plus një, atë që do të bëjë 1146 00:55:20,170 --> 00:55:23,420 po ajo do të rinovuar ajo me madhësinë e një int 1147 00:55:23,420 --> 00:55:25,950 sepse kjo është lloji i pointer është. 1148 00:55:25,950 --> 00:55:28,260 >> Me C, çdo gjë është e shumë strikte dhe të rregulluar. 1149 00:55:28,260 --> 00:55:29,440 1150 00:55:29,440 --> 00:55:35,260 Int tregues do të rinovuar nga sasia e hapësirës një int do të marrë. 1151 00:55:35,260 --> 00:55:36,260 Një int është katër bytes. 1152 00:55:36,260 --> 00:55:37,650 1153 00:55:37,650 --> 00:55:39,060 >> Pra, çfarë kjo do të kthehet në? 1154 00:55:39,060 --> 00:55:40,876 1155 00:55:40,876 --> 00:55:44,390 Ju jeni vetëm duke shtuar katër onto këtë. 1156 00:55:44,390 --> 00:55:50,040 Tani treguesin tuaj do be-- OK. 1157 00:55:50,040 --> 00:55:51,820 1158 00:55:51,820 --> 00:55:55,380 >> Pra, në qoftë se ajo ishte një char dhe ne e bëmë akrep plus një, çfarë do të jetë tani? 1159 00:55:55,380 --> 00:56:00,300 1160 00:56:00,300 --> 00:56:03,330 Në qoftë se kjo started-- pretenduar ne started-- tani është 0x08. 1161 00:56:03,330 --> 00:56:04,850 1162 00:56:04,850 --> 00:56:10,850 Le tani thonë se kjo ishte një char pointer, dhe kemi shtuar një. 1163 00:56:10,850 --> 00:56:11,850 Çfarë do të ndryshojë për të? 1164 00:56:11,850 --> 00:56:14,989 1165 00:56:14,989 --> 00:56:16,030 Sa bytes është një char? 1166 00:56:16,030 --> 00:56:16,680 >> AUDIENCA: One. 1167 00:56:16,680 --> 00:56:17,304 >> Gjuha 1: One. 1168 00:56:17,304 --> 00:56:18,309 Audienca: Pra 0x09. 1169 00:56:18,309 --> 00:56:19,600 Gjuha 1: Pra, kjo do të jetë e nëntë. 1170 00:56:19,600 --> 00:56:22,571 1171 00:56:22,571 --> 00:56:23,820 Pra, vetëm diçka për të kujtuar. 1172 00:56:23,820 --> 00:56:28,340 Vetëm kur ju të shtoni një të tillë, nuk është e duke shtuar një nëse kjo është një char. 1173 00:56:28,340 --> 00:56:34,190 Është duke shtuar se sa bytes llojin që është, 1174 00:56:34,190 --> 00:56:36,960 cila është arsyeja pse ne kemi ky ekuacion deri këtu. 1175 00:56:36,960 --> 00:56:40,190 Pra, kjo është herë int madhësia i llojit të tregues. 1176 00:56:40,190 --> 00:56:42,850 1177 00:56:42,850 --> 00:56:44,730 >> Pra, ne kemi shembullin këtu. 1178 00:56:44,730 --> 00:56:47,250 1179 00:56:47,250 --> 00:56:54,430 y ishte caktuar në atë të vlerës, 0x4, kur ne e bëmë y plus barabartë me një të tillë. 1180 00:56:54,430 --> 00:56:56,830 Çfarë është në të, çfarë është në x, nuk ndryshon. 1181 00:56:56,830 --> 00:56:58,610 Çfarë bën ndryshim është ajo që është në y. 1182 00:56:58,610 --> 00:57:04,980 Adresa ruhet në y përditësuar nga katër sepse ka katër bytes në një int 1183 00:57:04,980 --> 00:57:06,097 dhe kjo është një akrep int. 1184 00:57:06,097 --> 00:57:07,290 1185 00:57:07,290 --> 00:57:07,790 >> Dakord. 1186 00:57:07,790 --> 00:57:09,123 Deri tani ne kemi një tjetër stërvitje. 1187 00:57:09,123 --> 00:57:11,140 1188 00:57:11,140 --> 00:57:13,500 Pra, pyetja është se çfarë do të shtypura. 1189 00:57:13,500 --> 00:57:36,710 1190 00:57:36,710 --> 00:57:37,650 Ndonjë ide? 1191 00:57:37,650 --> 00:57:41,690 1192 00:57:41,690 --> 00:57:43,699 >> AUDIENCA: Numri i Karaktere në mace të lumtur? 1193 00:57:43,699 --> 00:57:44,490 Gjuha 1: Pikërisht. 1194 00:57:44,490 --> 00:57:45,531 Pra, si me vargun tuaj. 1195 00:57:45,531 --> 00:57:47,302 1196 00:57:47,302 --> 00:57:48,260 A të gjithë të merrni atë? 1197 00:57:48,260 --> 00:57:49,509 A duam të ecim nëpër të? 1198 00:57:49,509 --> 00:57:50,300 1199 00:57:50,300 --> 00:57:52,010 >> Po, OK. 1200 00:57:52,010 --> 00:57:57,385 Pra, ajo që ne kemi here-- I si kjo shumë më shumë. 1201 00:57:57,385 --> 00:57:59,340 Unë nuk duhet të [Padëgjueshme] qesharake. 1202 00:57:59,340 --> 00:58:01,690 >> Pra, ne kemi vargun tonë këtu, mace të lumtur. 1203 00:58:01,690 --> 00:58:02,950 Bukuroshe. 1204 00:58:02,950 --> 00:58:05,080 Ne kemi disa counter se ne jemi mbajtja e. 1205 00:58:05,080 --> 00:58:11,430 Pra, ne kemi disa char * akrep që sapo është vendosur barabartë me rr. 1206 00:58:11,430 --> 00:58:14,320 Çfarë kjo është duke bërë është ajo e caktimin e një akrep 1207 00:58:14,320 --> 00:58:16,380 në fillim të vargut tuaj. 1208 00:58:16,380 --> 00:58:19,840 Sepse unë jam i sigurt, si ajo u përmend në leksion, 1209 00:58:19,840 --> 00:58:22,290 ne ju kemi dhënë djema këtë Lloji i të dhënave të quajtur string. 1210 00:58:22,290 --> 00:58:29,070 >> Por me të vërtetë vargjet janë vetëm një koleksion of-- si char *. 1211 00:58:29,070 --> 00:58:32,330 Kjo është një tregues për një bandë e karaktereve që janë të afërt me kujtesën. 1212 00:58:32,330 --> 00:58:33,680 1213 00:58:33,680 --> 00:58:36,280 Pra, kjo vetëm e bën atë të barabartë tek ndonjë varg është 1214 00:58:36,280 --> 00:58:38,980 të identifikuar nga ku karakteri i saj i parë është. 1215 00:58:38,980 --> 00:58:42,710 Pra, kjo është vetëm vendosjen e disa pika barabartë me fillim të vargut. 1216 00:58:42,710 --> 00:58:44,130 Gjithkush mirë atje? 1217 00:58:44,130 --> 00:58:44,960 Ftohtë. 1218 00:58:44,960 --> 00:58:49,840 >> Pra, kjo është dereferencing akrep tonë. 1219 00:58:49,840 --> 00:58:53,760 Pra, kjo është në të vërtetë do të na japin disa vlera këtu, 1220 00:58:53,760 --> 00:58:55,610 në vargun tonë që ne jemi duke folur rreth. 1221 00:58:55,610 --> 00:58:58,342 Dhe ne jemi duke thënë aq kohë sa kjo nuk është terminator null. 1222 00:58:58,342 --> 00:59:00,550 Pra, do të mbajë deri sa ju të merrni në fund të vargut. 1223 00:59:00,550 --> 00:59:02,180 1224 00:59:02,180 --> 00:59:04,190 Update treguesin tuaj nga një. 1225 00:59:04,190 --> 00:59:09,250 Pra r, ai në fakt do update nga një çdo kohë, sepse kjo është një char, 1226 00:59:09,250 --> 00:59:09,820 * char. 1227 00:59:09,820 --> 00:59:10,930 1228 00:59:10,930 --> 00:59:12,340 >> Pra, kjo do të shkojnë përmes. 1229 00:59:12,340 --> 00:59:13,290 Kjo do të rinovuar. 1230 00:59:13,290 --> 00:59:16,705 Pra, herë të parë këtë shkon, ajo do të jetë këtu në h. 1231 00:59:16,705 --> 00:59:17,590 Kjo do të rinovuar. 1232 00:59:17,590 --> 00:59:18,185 >> Ajo do të jetë një një. 1233 00:59:18,185 --> 00:59:21,310 Ajo do të jetë një p, y, dhe kështu me radhë e kështu me radhë. 1234 00:59:21,310 --> 00:59:22,300 Ne do update counter. 1235 00:59:22,300 --> 00:59:26,160 Kur ai arrin në fund, atë thjesht shtyp se sa larg është marrë. 1236 00:59:26,160 --> 00:59:27,550 1237 00:59:27,550 --> 00:59:28,050 Po. 1238 00:59:28,050 --> 00:59:31,475 >> AUDIENCA: Pra Ajo llogaritet hapësirë ​​si një, e drejtë? 1239 00:59:31,475 --> 00:59:31,974 OK. 1240 00:59:31,974 --> 00:59:34,294 1241 00:59:34,294 --> 00:59:35,222 >> Gjuha 1: Mendoni kështu. 1242 00:59:35,222 --> 00:59:36,830 A është kjo një question-- 1243 00:59:36,830 --> 00:59:37,746 >> Audienca: [padëgjueshme]. 1244 00:59:37,746 --> 00:59:37,968 1245 00:59:37,968 --> 00:59:38,884 >> Gjuha 1: Nuk shqetësohet. 1246 00:59:38,884 --> 00:59:39,720 1247 00:59:39,720 --> 00:59:42,736 Këtë e bëj atë. 1248 00:59:42,736 --> 00:59:47,710 Në rregull, kështu që një gjë që unë kuptojnë është se me një grup, 1249 00:59:47,710 --> 00:59:51,736 ju gjithashtu mund të trajtojnë atë si një akrep sepse vargjeve janë vetëm 1250 00:59:51,736 --> 00:59:52,860 Spotet e vazhdueshme e kujtesës. 1251 00:59:52,860 --> 00:59:53,970 1252 00:59:53,970 --> 00:59:56,380 >> Kështu që ju mund të trajtojë atë në të njëjtën mënyrë. 1253 00:59:56,380 --> 00:59:59,000 Ju mund të manipulojnë ato me pointers, too. 1254 00:59:59,000 --> 01:00:04,770 Pra, në vend të bërë, në këtë rast, gjëja analoge 1255 01:00:04,770 --> 01:00:07,490 do të jetë array 0 është e barabartë me 1. 1256 01:00:07,490 --> 01:00:08,760 1257 01:00:08,760 --> 01:00:15,210 >> Por në të njëjtën mënyrë që a string është përcaktuar 1258 01:00:15,210 --> 01:00:18,740 nga fillimi i ku karakteri i saj i parë është, 1259 01:00:18,740 --> 01:00:22,270 një koleksion është përcaktuar nga ku elementi i tij i parë është. 1260 01:00:22,270 --> 01:00:25,120 Sepse ne e dimë, ne jemi garantuar, se këto 1261 01:00:25,120 --> 01:00:27,985 do të jetë e vazhdueshme blloqet e kujtesës. 1262 01:00:27,985 --> 01:00:29,360 Kjo është ajo që na lejon të bëjmë këtë. 1263 01:00:29,360 --> 01:00:31,193 Ne e dimë se ata janë të vazhdueshme blloqet e kujtesës. 1264 01:00:31,193 --> 01:00:32,230 1265 01:00:32,230 --> 01:00:36,500 >> Pra, në këtë rast, duke dereferencing vetëm array, që na tregon, 1266 01:00:36,500 --> 01:00:40,800 OK, shko në fillimin e array juaj, e cila është këtu. 1267 01:00:40,800 --> 01:00:42,640 Kështu që ju mund të vendosni të barabartë me një. 1268 01:00:42,640 --> 01:00:48,610 Dhe në këtë rast, çfarëdo array tuaj lloj është, kur ju update it nga një, 1269 01:00:48,610 --> 01:00:50,830 kjo është vetëm si përditësimin ajo me indeksin e ardhshëm. 1270 01:00:50,830 --> 01:00:52,760 1271 01:00:52,760 --> 01:00:56,360 Ju mund ta bëjë këtë për shkak se ju e di se çfarë është në rrjet tuaj. 1272 01:00:56,360 --> 01:00:59,770 Pra, ai e di se sa të Përditëso treguesin tuaj nga, 1273 01:00:59,770 --> 01:01:02,925 çfarë adresë për të rinovuar atë në mënyrë që ju të jeni në slot e ardhshëm. 1274 01:01:02,925 --> 01:01:04,740 1275 01:01:04,740 --> 01:01:09,400 >> Pra, kjo është vetëm një mënyrë të ndryshme i shkruar array 0 barabartë 1, 1276 01:01:09,400 --> 01:01:15,114 array 1 e barabartë me 2, array kllapa 2 është e barabartë me 3. 1277 01:01:15,114 --> 01:01:16,780 Kjo është vetëm një tjetër mënyrë për të menduar për këtë. 1278 01:01:16,780 --> 01:01:19,600 Për shkak se ata janë të vazhdueshme blloqe në memorie, 1279 01:01:19,600 --> 01:01:21,830 ju mund të referoheni atyre as nga grup notation-- 1280 01:01:21,830 --> 01:01:24,390 të cilën unë personalisht gjeni easier-- por ndoshta 1281 01:01:24,390 --> 01:01:27,347 ju keni nevojë për të manipuluar atë rreptësisht nga adresat e kujtesës. 1282 01:01:27,347 --> 01:01:28,930 Dhe kjo është mënyra që ju do të bëni atë. 1283 01:01:28,930 --> 01:01:30,630 1284 01:01:30,630 --> 01:01:32,630 Lloji i më shumë si një Gjëja e ftohtë që ju mund të bëni 1285 01:01:32,630 --> 01:01:35,213 kundrejt Ndoshta jo diçka që ju jeni në fakt do të zbatojë. 1286 01:01:35,213 --> 01:01:36,960 1287 01:01:36,960 --> 01:01:38,630 >> Unë e përdorin atë në 61. 1288 01:01:38,630 --> 01:01:41,710 Ju djema ndoshta nuk kanë nevojë për për t'u shqetësuar në lidhje me atë shumë. 1289 01:01:41,710 --> 01:01:43,693 Por nëse ju jeni të interesuar, marrë 61 vitin e ardhshëm. 1290 01:01:43,693 --> 01:01:45,269 1291 01:01:45,269 --> 01:01:46,560 Ne jemi në djemtë shtrirje në shtëpi. 1292 01:01:46,560 --> 01:01:47,510 Unë e di, është e gjatë. 1293 01:01:47,510 --> 01:01:50,570 1294 01:01:50,570 --> 01:01:58,880 Dynamic Memory Allocation-- kështu që ne e dimë se një 1295 01:01:58,880 --> 01:02:01,790 e gjëra kur ne biseduam gjatë Pjesa jonë e parë së bashku, 1296 01:02:01,790 --> 01:02:04,560 kemi shikuar në një shkëmbim Funksioni ku ishte 1297 01:02:04,560 --> 01:02:08,010 jashtë fushëveprimit të funksionit tonë kryesor. 1298 01:02:08,010 --> 01:02:14,370 Dhe ne kemi qenë duke kaluar në këto vlera që ishin efektivisht kopje. 1299 01:02:14,370 --> 01:02:20,570 >> Dhe një herë swap përfunduar ekzekutimin, ai vetëm la një pirg. 1300 01:02:20,570 --> 01:02:22,830 Mos harroni, ne kemi një rafte kornizë për shkëmbim. 1301 01:02:22,830 --> 01:02:26,070 Ai lë dhe ata Vlerat lënë me të. 1302 01:02:26,070 --> 01:02:27,050 Dhe ata ishin zhdukur. 1303 01:02:27,050 --> 01:02:28,615 Ne nuk mund të bëjë asgjë me ta dhe ne ishim të pikëlluar 1304 01:02:28,615 --> 01:02:29,989 sepse ne nuk mund të bie në ujdi vlerat tona. 1305 01:02:29,989 --> 01:02:31,070 1306 01:02:31,070 --> 01:02:36,560 >> Por me C, siç thashë, ju kanë një shumë e pushtetit mbi kujtesës. 1307 01:02:36,560 --> 01:02:43,310 Pra, çfarë mund të bëni ju është e mund të ndajë gjërat në grumbull këtu 1308 01:02:43,310 --> 01:02:46,830 se do të qëndrojnë aty deri në ju tregoni atyre ndryshe. 1309 01:02:46,830 --> 01:02:48,280 >> Ata janë si fëmijë të mirë. 1310 01:02:48,280 --> 01:02:49,150 Ata qëndrojnë aty. 1311 01:02:49,150 --> 01:02:50,270 Ata nuk largohen. 1312 01:02:50,270 --> 01:02:52,750 Ata do të qëndrojnë aty deri sa të jeni si, OK, ju mund të shkoni larg. 1313 01:02:52,750 --> 01:02:55,920 >> Ndërsa gjërat në rafte, who-- ata janë si fëmijët e keq. 1314 01:02:55,920 --> 01:02:59,160 Ata vetëm do të kandidojë larg kur të doni të jetë atje dhe pastaj ata janë zhdukur. 1315 01:02:59,160 --> 01:03:00,160 Ju nuk mund të merrni ato mbrapa. 1316 01:03:00,160 --> 01:03:01,350 1317 01:03:01,350 --> 01:03:07,187 >> Pra grumbull is-- ne jemi duke shkuar për të flasim për malloc dhe të lirë, e cila 1318 01:03:07,187 --> 01:03:08,895 Unë jam i sigurt se ju djema dëgjuar për në leksion. 1319 01:03:08,895 --> 01:03:10,270 1320 01:03:10,270 --> 01:03:14,210 Dhe kjo është në thelb një mënyrë që kanë të dhëna shumë të vazhdueshme. 1321 01:03:14,210 --> 01:03:18,920 Kështu që ju mund të mbani të dhënat rreth për aq kohë sa të doni. 1322 01:03:18,920 --> 01:03:19,546 MHM. 1323 01:03:19,546 --> 01:03:21,475 >> AUDIENCA: A mund të përcaktojë tog dhe rafte? 1324 01:03:21,475 --> 01:03:24,030 A janë ata si vende për të vënë gjërat? 1325 01:03:24,030 --> 01:03:26,630 >> Gjuha 1: Pra ata janë të thelb just-- ata janë 1326 01:03:26,630 --> 01:03:29,530 mënyrën se si ne i referohemi vetëm për kujtesën. 1327 01:03:29,530 --> 01:03:37,300 Pra tog është vetëm vende ku kujtesës është ndarë në mënyrë dinamike, 1328 01:03:37,300 --> 01:03:40,960 ndërsa rafte referohet më shumë për të rafte korniza 1329 01:03:40,960 --> 01:03:45,950 që janë më të rëndësishme për Funksionet që në fakt do të vrapojnë. 1330 01:03:45,950 --> 01:03:47,200 Ju nuk mund të vërtetë kanë kontroll. 1331 01:03:47,200 --> 01:03:50,690 >> Dallimi i madh, ju keni kontroll mbi tog në qoftë se ju doni të. 1332 01:03:50,690 --> 01:03:52,710 Ju keni pak kontroll mbi rafte. 1333 01:03:52,710 --> 01:03:55,030 Rafte varet Funksionet që vrapojnë, 1334 01:03:55,030 --> 01:03:58,320 dhe rendit në të cilën ato janë të drejtuar, dhe mënyrën se si gjërat janë kthyer. 1335 01:03:58,320 --> 01:04:01,290 Ndërsa me grumbull, si ne do të shohim, ju mund të thoni, 1336 01:04:01,290 --> 01:04:06,639 OK, unë dua që kjo vlerë të jetë e rreth deri sa unë po ju them ndryshe. 1337 01:04:06,639 --> 01:04:08,180 Ju nuk jeni i lejuar për të shpëtoj prej tij. 1338 01:04:08,180 --> 01:04:09,300 Ju nuk jeni i lejuar për të refuzojë atë. 1339 01:04:09,300 --> 01:04:11,675 Ju jeni duke shkuar për të mbajtur atë rreth për sa kohë që unë po ju them. 1340 01:04:11,675 --> 01:04:15,780 Ju merrni të jetë bosi në grumbull, ndërsa stack-- Ndoshta, nëse ju 1341 01:04:15,780 --> 01:04:18,080 si mashtroj rrugën tuaj ju mund të jetë bosi. 1342 01:04:18,080 --> 01:04:19,340 Por jo mjaft. 1343 01:04:19,340 --> 01:04:20,480 1344 01:04:20,480 --> 01:04:22,070 Dhe kjo është me të vërtetë vetëm kujtesës. 1345 01:04:22,070 --> 01:04:24,260 Është mënyra të vetëm të ndryshme e referuar kujtesës. 1346 01:04:24,260 --> 01:04:25,800 1347 01:04:25,800 --> 01:04:26,400 >> Ftohtë. 1348 01:04:26,400 --> 01:04:28,630 Pra, me të cilat, si të kontrolluar kujtesën tuaj. 1349 01:04:28,630 --> 01:04:32,070 Është me malloc, e cila ju jeni do të merrni për të përdorur. 1350 01:04:32,070 --> 01:04:37,100 Pra, kjo është vetëm e shkurtër për ndarjen e kujtesës. 1351 01:04:37,100 --> 01:04:38,459 Kjo është e gjitha ajo është. 1352 01:04:38,459 --> 01:04:41,250 Ka një bandë e ftohtë të tjera Funksionet që kanë alloc në fund, 1353 01:04:41,250 --> 01:04:42,750 dhe ata qëndrojnë për gjëra të ndryshme. 1354 01:04:42,750 --> 01:04:43,550 1355 01:04:43,550 --> 01:04:49,050 >> Pra, kur ju keni nevojë për ruajtje që ka nevojë të vazhdoj funksionin tuaj të tanishme në mënyrë 1356 01:04:49,050 --> 01:04:51,010 se kur e tanishme tuaj Funksioni shkon larg, 1357 01:04:51,010 --> 01:04:55,774 ju ende keni të dhëna që ju marrë nga ajo, ju doni të përdorni malloc. 1358 01:04:55,774 --> 01:04:57,190 Kjo do të nisja atë në grumbull. 1359 01:04:57,190 --> 01:05:00,140 Dhe si kam thënë dhe për të mbajtur duke thënë, ju do të mbani atë atje 1360 01:05:00,140 --> 01:05:03,050 deri sa ju thoni ndryshe, e cila është gjëja më e rëndësishme këtu. 1361 01:05:03,050 --> 01:05:08,450 >> Pra, një gjë në njoftim, dhe kjo është zakonisht të vërtetë e rëndësishme, 1362 01:05:08,450 --> 01:05:13,620 është se ky sizeof është super e dobishme për të përdorur 1363 01:05:13,620 --> 01:05:16,440 shkak varësi të llojit makine ju jeni duke, 1364 01:05:16,440 --> 01:05:22,470 ajo mund të ketë sasi të ndryshme e kujtesës që ajo merr. 1365 01:05:22,470 --> 01:05:26,870 Pra, ju gjithmonë doni të përdorni madhësinë e kështu me se ju nuk jeni makinë varur, 1366 01:05:26,870 --> 01:05:30,300 në mënyrë që kodi juaj do të të kandidojë në çdo makinë. 1367 01:05:30,300 --> 01:05:32,360 >> Dhe kjo është vetëm një pjesë e shkruar kodin mirë. 1368 01:05:32,360 --> 01:05:34,610 Në qoftë se ajo punon në një makinë, por jo nga të tjerët, 1369 01:05:34,610 --> 01:05:36,440 sa e dobishme ishte programi juaj? 1370 01:05:36,440 --> 01:05:38,420 Pra, ju gjithmonë doni të sigurohuni që të përdorin dhe sizeof. 1371 01:05:38,420 --> 01:05:41,306 >> Audienca: Pra, është se si Madhësia e 10 inç [padëgjueshme]? 1372 01:05:41,306 --> 01:05:43,698 >> Gjuha 1: Kjo është madhësia e 10 ints. 1373 01:05:43,698 --> 01:05:44,197 vërtet. 1374 01:05:44,197 --> 01:05:45,360 1375 01:05:45,360 --> 01:05:48,830 Pra, madhësia e ints do të kthehen sa nuk e merr int. 1376 01:05:48,830 --> 01:05:51,530 Ose madhësia e shkrumb, si kushton një reagim char. 1377 01:05:51,530 --> 01:05:54,150 Dhe pastaj sa blloqe e që nuk ju duan? 1378 01:05:54,150 --> 01:05:57,590 >> Pra, në këtë rast, ne duam diçka që ne mund të ruajë 10 ints të. 1379 01:05:57,590 --> 01:06:00,240 Dhe kjo do të punojnë pa marrë parasysh të makinës, e cila është e ftohtë. 1380 01:06:00,240 --> 01:06:01,720 1381 01:06:01,720 --> 01:06:04,846 Pra, sa bytes do që në fakt ju jap? 1382 01:06:04,846 --> 01:06:06,190 Matematikë të shpejtë. 1383 01:06:06,190 --> 01:06:06,787 >> AUDIENCA: 40. 1384 01:06:06,787 --> 01:06:07,370 Gjuha 1: 40. 1385 01:06:07,370 --> 01:06:07,869 Pikërisht. 1386 01:06:07,869 --> 01:06:09,520 1387 01:06:09,520 --> 01:06:12,030 Pra, një gjë e madhe. 1388 01:06:12,030 --> 01:06:14,840 Pointer ose malloc mund të kthehen null. 1389 01:06:14,840 --> 01:06:17,910 >> Pra, përsëri, gjithmonë kontrolloni për të shohim nëse ajo kthehet null 1390 01:06:17,910 --> 01:06:19,620 para se të përpiqet dhe të bëjë asgjë me të. 1391 01:06:19,620 --> 01:06:23,430 1392 01:06:23,430 --> 01:06:27,350 Nëse ju provoni dhe dereference kjo akrep tani, 1393 01:06:27,350 --> 01:06:29,720 ajo është vetëm do të segfault sepse ju shkoi dhe u përpoq 1394 01:06:29,720 --> 01:06:31,730 të prekë null kur ju nuk duhet të ketë. 1395 01:06:31,730 --> 01:06:34,000 Pra, gjithmonë kontrolloni for null. 1396 01:06:34,000 --> 01:06:36,075 Përsëri, të gjithë ju mund të bëni. 1397 01:06:36,075 --> 01:06:38,300 1398 01:06:38,300 --> 01:06:39,720 >> Ajo mund të kthehen null. 1399 01:06:39,720 --> 01:06:42,740 Ajo do të kthehen null qoftë se ju jeni ose nga hapësirë, ose për çfarëdo arsye 1400 01:06:42,740 --> 01:06:44,350 ajo u zhvillua në disa bug kujtesës. 1401 01:06:44,350 --> 01:06:45,890 1402 01:06:45,890 --> 01:06:47,510 Ajo nganjëherë thjesht kthehet null. 1403 01:06:47,510 --> 01:06:48,990 Kështu që ju vetëm duhet të kontrolloni për të. 1404 01:06:48,990 --> 01:06:51,050 Kjo është e gjitha kjo rrëshqitje është duke thënë. 1405 01:06:51,050 --> 01:06:53,366 1406 01:06:53,366 --> 01:06:55,240 Dhe pastaj ajo që ne kemi këtu është një thirrje të lirë. 1407 01:06:55,240 --> 01:07:00,550 Pra, në të njëjtën mënyrë se në qoftë se ju hapur një skedar që ju duhet të mbyllni një fotografi, 1408 01:07:00,550 --> 01:07:04,340 në qoftë se ju memorie malloc, ju duhet të jeni i lirë se kujtesës. 1409 01:07:04,340 --> 01:07:06,530 Dhe ju djema do të merrni për të bërë gjëra të vërtetë cool. 1410 01:07:06,530 --> 01:07:09,624 >> Dhe ka një program që ju mund të kandidojë për të parë nëse ju jeni ndonjëherë rrjedh kujtesës. 1411 01:07:09,624 --> 01:07:11,040 Por ju nuk doni të rrjedhje kujtesës. 1412 01:07:11,040 --> 01:07:11,820 Është me të vërtetë e keqe. 1413 01:07:11,820 --> 01:07:13,191 1414 01:07:13,191 --> 01:07:15,020 Vetëm rrëmujë up gjërat. 1415 01:07:15,020 --> 01:07:20,939 >> Kjo është e keqe për të bërë ashtu si programim mençur për efikasitetin e dizajnit. 1416 01:07:20,939 --> 01:07:22,980 Por kjo është edhe vetëm një lloj e keqe për kompjuterin tuaj. 1417 01:07:22,980 --> 01:07:26,780 Gjërat në mënyrë të drejtë të lirë kur ju malloc ato. 1418 01:07:26,780 --> 01:07:28,190 1419 01:07:28,190 --> 01:07:30,210 >> Ju djema shohin symmetries këtu. 1420 01:07:30,210 --> 01:07:31,180 Super thjeshtë. 1421 01:07:31,180 --> 01:07:33,010 Vetëm të lira dhe pastaj çfarëdo treguesin tuaj, 1422 01:07:33,010 --> 01:07:34,843 çfarëdo emri i akrep juaj është, dhe kjo 1423 01:07:34,843 --> 01:07:36,710 do të kujdeset për të liruar atë për ju. 1424 01:07:36,710 --> 01:07:38,200 1425 01:07:38,200 --> 01:07:38,700 Ftohtë. 1426 01:07:38,700 --> 01:07:40,410 1427 01:07:40,410 --> 01:07:42,530 >> Pastaj ne kemi këtë. 1428 01:07:42,530 --> 01:07:44,770 Pra, ne jemi vetëm duke shkuar për të ecin nëpër këtë program. 1429 01:07:44,770 --> 01:07:46,560 Dhe pastaj ju djema janë bërë. 1430 01:07:46,560 --> 01:07:50,240 >> Pra, [e padëgjueshme] vetëm kryesor. 1431 01:07:50,240 --> 01:07:51,690 Pra, ne kemi një int * akrep. 1432 01:07:51,690 --> 01:07:53,648 Pra, ne kemi një akrep që do të mbajë ints. 1433 01:07:53,648 --> 01:07:54,500 1434 01:07:54,500 --> 01:07:56,170 Dhe sa ints është ajo do të mbajë? 1435 01:07:56,170 --> 01:07:57,400 1436 01:07:57,400 --> 01:07:58,170 Vetëm një. 1437 01:07:58,170 --> 01:07:59,400 1438 01:07:59,400 --> 01:08:01,100 Madhësia e një int. 1439 01:08:01,100 --> 01:08:03,900 >> Ne kontrolloni për të parë nëse akrep është null sepse ajo 1440 01:08:03,900 --> 01:08:06,130 është, ne duam të themi nuk bëjnë asgjë. 1441 01:08:06,130 --> 01:08:07,065 Kjo është e keqe. 1442 01:08:07,065 --> 01:08:08,130 1443 01:08:08,130 --> 01:08:12,130 Pra, kemi shkruar disa gabim jashtë kujtesës, më shpesh kthehen 1, 1444 01:08:12,130 --> 01:08:14,260 si ju djema janë përdorur për të. 1445 01:08:14,260 --> 01:08:17,390 >> Dhe pastaj ne kemi këtu, ne dereference pointer tonë. 1446 01:08:17,390 --> 01:08:22,840 Pra, kjo do të thotë që ne jemi duke shkuar për të ruajtur diçka në vendin e caktuar për ne. 1447 01:08:22,840 --> 01:08:24,350 1448 01:08:24,350 --> 01:08:30,830 Int * akrep, ose malloc, kthehet adresa ku të lënë mënjanë këtë 1449 01:08:30,830 --> 01:08:31,750 kujtesës për ju. 1450 01:08:31,750 --> 01:08:32,830 1451 01:08:32,830 --> 01:08:34,800 Pra, kjo është në thelb duke ju dhënë like-- nëse ju 1452 01:08:34,800 --> 01:08:38,149 të mendojnë për një bandë e shtëpi në një lagje 1453 01:08:38,149 --> 01:08:40,640 që ju dëshironi për të vënë tuaj në mobilje, malloc 1454 01:08:40,640 --> 01:08:43,850 është si rregull, ju merrni për të shkuar në shtëpinë e tre. 1455 01:08:43,850 --> 01:08:45,800 Dhe kjo ju jep të adresa e shtëpisë tre. 1456 01:08:45,800 --> 01:08:48,775 >> Pra, kjo e drejtë tani, kjo Dyqane akrep një adresë, 1457 01:08:48,775 --> 01:08:50,149 ruan adresën e shtëpisë tuaj. 1458 01:08:50,149 --> 01:08:51,470 1459 01:08:51,470 --> 01:08:54,640 * Mjetet PTR, OK, unë jam në shtëpinë time. 1460 01:08:54,640 --> 01:08:55,326 Ftohtë. 1461 01:08:55,326 --> 01:08:56,580 Unë kam nevojë për të marrë disa integer. 1462 01:08:56,580 --> 01:08:59,229 >> Pra, ju jeni duke kërkuar për dikë për të ju jap mobilje tani. 1463 01:08:59,229 --> 01:09:00,430 Pra, ju merrni disa int. 1464 01:09:00,430 --> 01:09:05,100 Dhe kjo e vë atë në treguesin tuaj ku është treguar për të. 1465 01:09:05,100 --> 01:09:08,670 >> Dhe pastaj ajo vetëm shtyp out, keni hyrë kudo. 1466 01:09:08,670 --> 01:09:11,060 Dhe përsëri, referencë. 1467 01:09:11,060 --> 01:09:15,649 Pra, kjo është si ju shkoi për këtë adresuar dhe keni parë se çfarë ishte aty. 1468 01:09:15,649 --> 01:09:17,120 1469 01:09:17,120 --> 01:09:17,630 Ftohtë? 1470 01:09:17,630 --> 01:09:20,174 >> Dhe pastaj sigurisht që ne të lirë akrep tonë. 1471 01:09:20,174 --> 01:09:21,590 Mos harroni për treguesin tuaj të lirë. 1472 01:09:21,590 --> 01:09:22,933 Mos harroni të kontrolloni for null. 1473 01:09:22,933 --> 01:09:24,349 Mos harroni për treguesin tuaj të lirë. 1474 01:09:24,349 --> 01:09:27,270 Ju keni dy gjëra që ju kujtohet nga këtë, apo që ju duhet të mbani mend. 1475 01:09:27,270 --> 01:09:27,770 Po. 1476 01:09:27,770 --> 01:09:31,590 Audienca: [padëgjueshme] sende si kjo, char * s. 1477 01:09:31,590 --> 01:09:33,760 Si të vijë kurrë nuk jemi të lirë ata? 1478 01:09:33,760 --> 01:09:34,529 >> Gjuha 1: Hm? 1479 01:09:34,529 --> 01:09:36,450 >> AUDIENCA: A janë ata si strings? 1480 01:09:36,450 --> 01:09:39,160 Ju tha se vargjet janë ashtu si char * s, e drejtë? 1481 01:09:39,160 --> 01:09:41,200 Pra, pse nuk kemi të lirë vargje? 1482 01:09:41,200 --> 01:09:43,204 >> Gjuha 1: Ju duhet vetëm për të pa pagesë nëse ju jeni mallocing. 1483 01:09:43,204 --> 01:09:44,620 AUDIENCA: Oh, në qoftë se ju jeni të mallocing. 1484 01:09:44,620 --> 01:09:47,399 Gjuha 1: Pra malloc dhe të lirë janë dy gjëra 1485 01:09:47,399 --> 01:09:49,000 që ju duhet të keni së bashku. 1486 01:09:49,000 --> 01:09:51,630 f hapur, f ngushtë, dy gjëra ju duhet të keni së bashku. 1487 01:09:51,630 --> 01:09:54,471 Në të dyja këto raste, kontrolloni for null. 1488 01:09:54,471 --> 01:09:54,971 Po. 1489 01:09:54,971 --> 01:09:57,130 >> Audienca: Pra lirë është vetëm duke lejuar diçka tjetër 1490 01:09:57,130 --> 01:09:59,690 për të ruajtur atje pas ky program e ka përdorur atë? 1491 01:09:59,690 --> 01:10:01,946 >> Gjuha 1: Është vetëm duke thënë, OK, unë jam bërë me këtë. 1492 01:10:01,946 --> 01:10:03,320 Ju nuk keni nevojë të mbani atë rreth. 1493 01:10:03,320 --> 01:10:05,340 1494 01:10:05,340 --> 01:10:08,190 Përndryshe kompjuteri juaj do të thjesht pëlqen të provoni dhe për të mbajtur atë atje. 1495 01:10:08,190 --> 01:10:10,910 Dhe pastaj ju can't-- ajo shkon në çështjet e kujtesës më vonë. 1496 01:10:10,910 --> 01:10:13,660 Ju gjithmonë dëshironi të liruar atë, sepse kjo tregon kompjuterin tuaj, OK, unë jam 1497 01:10:13,660 --> 01:10:15,190 bërë me këtë vend të kujtesës. 1498 01:10:15,190 --> 01:10:17,190 Ju mund të keni atë përsëri për mua për t'u përdorur më vonë. 1499 01:10:17,190 --> 01:10:19,250 1500 01:10:19,250 --> 01:10:20,500 Ftohtë? 1501 01:10:20,500 --> 01:10:21,320 Po. 1502 01:10:21,320 --> 01:10:26,950 >> Audienca: Pra, kemi përdorur% d vetëm sepse një të dyfishtë që vjen prapa, 1503 01:10:26,950 --> 01:10:28,330 ose pse is-- [padëgjueshme]. 1504 01:10:28,330 --> 01:10:30,170 1505 01:10:30,170 --> 01:10:31,620 >> AUDIENCA: Mund të përdorni% ï? 1506 01:10:31,620 --> 01:10:32,760 >> Gjuha 1: Ju mund të përdorni% i. 1507 01:10:32,760 --> 01:10:35,052 1508 01:10:35,052 --> 01:10:36,135 Çdo pyetje minutën e fundit? 1509 01:10:36,135 --> 01:10:38,310 1510 01:10:38,310 --> 01:10:38,985 Shkoni përpara. 1511 01:10:38,985 --> 01:10:40,610 AUDIENCA: Unë vetëm kam një pyetje të shpejtë. 1512 01:10:40,610 --> 01:10:50,200 Pra ndryshueshme ptr, that's-- si, me ptr = malloc int *, 1513 01:10:50,200 --> 01:10:54,142 kjo është vetëm duke thënë se është duke treguar për një vend në memory-- 1514 01:10:54,142 --> 01:10:55,600 Gjuha 1: A doni [padëgjueshme]? 1515 01:10:55,600 --> 01:10:58,050 AUDIENCA: --that është Madhësia of-- jo, kjo është OK. 1516 01:10:58,050 --> 01:11:01,292 Por kjo është vetëm duke treguar për një vend në kujtesës që është vetëm si katër bytes. 1517 01:11:01,292 --> 01:11:02,000 Gjuha 1: E drejta. 1518 01:11:02,000 --> 01:11:03,030 1519 01:11:03,030 --> 01:11:07,070 Pra malloc madhësinë e int thotë, OK, unë jam duke shkuar për të shkuar ik, 1520 01:11:07,070 --> 01:11:08,780 gjeni katër byte memorje për ju. 1521 01:11:08,780 --> 01:11:10,700 Kur konstaton se katër bytes i kujtesës, atë 1522 01:11:10,700 --> 01:11:14,030 jep ju të mbështetur adresë e ku fillon, 1523 01:11:14,030 --> 01:11:16,160 dhe kjo është ajo që të ruajtura në akrep, apo PTR. 1524 01:11:16,160 --> 01:11:17,510 1525 01:11:17,510 --> 01:11:18,010 Të mirë. 1526 01:11:18,010 --> 01:11:18,742 1527 01:11:18,742 --> 01:11:21,700 Ju djema shikoni pak i hutuar se më njerëzit, kur flas për treguesin, 1528 01:11:21,700 --> 01:11:23,670 kështu që unë jam ndjenjë shumë e mirë tani. 1529 01:11:23,670 --> 01:11:24,520 >> Dakord. 1530 01:11:24,520 --> 01:11:27,960 Si gjithmonë, ju djema duhet të kenë të gjitha marrë notat tuaja pset2 deri tani. 1531 01:11:27,960 --> 01:11:32,769 Unë e di se ka pasur disa që tundet gjëra ku thotë, formula jo valid 1532 01:11:32,769 --> 01:11:33,310 apo diçka. 1533 01:11:33,310 --> 01:11:36,166 Nëse ju jeni duke marrë atë, të gjithë notat tuaja janë të vlefshme në anën time. 1534 01:11:36,166 --> 01:11:38,040 Kështu që unë mund të ju dërgoj screenshots e notave tuaj. 1535 01:11:38,040 --> 01:11:39,011 1536 01:11:39,011 --> 01:11:41,760 Just let me know, si edhe në qoftë se ju jeni humbur asnjë klasë apo diçka 1537 01:11:41,760 --> 01:11:43,060 nuk duket për të bërë kuptim. 1538 01:11:43,060 --> 01:11:43,720 Eja tek unë. 1539 01:11:43,720 --> 01:11:44,830 1540 01:11:44,830 --> 01:11:48,830 >> Unë kam qenë super krenar për ju djema tashmë, kështu që të mbajë atë. 1541 01:11:48,830 --> 01:11:50,640 Dhe të ketë një pushim të mirë të javës tuaj. 1542 01:11:50,640 --> 01:11:53,440 Unë jam i sigurt se unë do të shoh disa e ju në orarit të punës. 1543 01:11:53,440 --> 01:11:55,414