1 00:00:00,000 --> 00:00:04,875 2 00:00:04,875 --> 00:00:05,750 ANDI PENG: Pekala. 3 00:00:05,750 --> 00:00:08,240 Bölümün haftasında dört hoşgeldiniz. 4 00:00:08,240 --> 00:00:10,280 Güzel bir gün Burada New Haven dışarı 5 00:00:10,280 --> 00:00:14,370 böylece gerçekten seyrek düşünüyorum Çocuklar saçılması o 6 00:00:14,370 --> 00:00:17,530 Bugün bölümü için beni katıldı, teşekkür ederim. 7 00:00:17,530 --> 00:00:21,517 >> Yani hızlı, sadece biz önce bugün gündemi başlar. 8 00:00:21,517 --> 00:00:23,600 Biz üzerine gidecek Birkaç kısa duyurular. 9 00:00:23,600 --> 00:00:26,224 Biz gerçekten tuhaf bir program var Önümüzdeki iki hafta içinde geliyor 10 00:00:26,224 --> 00:00:28,010 ya da öylesine biz üzerine gidiyoruz. 11 00:00:28,010 --> 00:00:30,410 İkincisi, ben biliyorum herkesin en sevdiği topic-- 12 00:00:30,410 --> 00:00:33,572 Ben bu fikrinizi erimiş eminim derste, merak etmeyin, 13 00:00:33,572 --> 00:00:34,780 Hala biraz onu alamadım. 14 00:00:34,780 --> 00:00:35,444 Bu iyi. 15 00:00:35,444 --> 00:00:36,110 Şakaydı. 16 00:00:36,110 --> 00:00:37,450 Ben aslında bunu alırım. 17 00:00:37,450 --> 00:00:40,234 Ama emin olacaktır Siz de olsun. 18 00:00:40,234 --> 00:00:42,400 Yani bir geçireceksin Gerçekten, gerçekten iyi bir miktar 19 00:00:42,400 --> 00:00:44,020 zaman bugün işaretçisi bahsediyoruz. 20 00:00:44,020 --> 00:00:47,012 Gördüğünüz gibi, Şeker adlı konuşma, bugün çok büyük. 21 00:00:47,012 --> 00:00:49,220 Biz gerçekten tutmak için gidiyoruz evet ki-, bu doğru. 22 00:00:49,220 --> 00:00:49,890 Şeker alarak devam edin. 23 00:00:49,890 --> 00:00:51,556 Şu anda onları etrafında geçmek gidiyorum. 24 00:00:51,556 --> 00:00:55,150 25 00:00:55,150 --> 00:00:56,510 Endişe etme. 26 00:00:56,510 --> 00:00:59,570 Biz gerçekten denemek için gidiyoruz İnsanların kan şekerini tutmak için 27 00:00:59,570 --> 00:01:04,390 beyin yakmak için gidiyor çünkü kadar Bazı oksijen bugün göstericiler nedeniyle 28 00:01:04,390 --> 00:01:05,652 gerçekten zor, gerçekten. 29 00:01:05,652 --> 00:01:08,360 Sonra hakkında konuşmak için gidiyoruz tür bir bellek yönetimi 30 00:01:08,360 --> 00:01:09,487 Aynı alanda. 31 00:01:09,487 --> 00:01:11,570 Ve biz taşımak için gidiyoruz yönlendirme ve dosyaya üzerine 32 00:01:11,570 --> 00:01:15,297 Sadece sözdizimi I / O, güzel Konuşmamız gereken şeyler. 33 00:01:15,297 --> 00:01:17,130 Ve sonra son olarak, ben bir kez daha deneyeceğim 34 00:01:17,130 --> 00:01:19,070 pset4 10, 15 dakika gibi bırakmak. 35 00:01:19,070 --> 00:01:21,820 Yani, biz konum bu yüzden bir kaç gün içinde bağlı olduğunu gidiş gerçekten tür vermek sen 36 00:01:21,820 --> 00:01:24,850 bazı yararlı ipuçları eğer Zaten bu konuda başladık. 37 00:01:24,850 --> 00:01:26,141 Güzel. 38 00:01:26,141 --> 00:01:26,640 TAMAM. 39 00:01:26,640 --> 00:01:30,710 Bu yüzden bazı duyurular Bu yaklaşan hafta için. 40 00:01:30,710 --> 00:01:31,805 Puanlama. 41 00:01:31,805 --> 00:01:33,930 Ben aslında hiç bilmiyorum Senin kaç bu noktada 42 00:01:33,930 --> 00:01:37,180 çocuklar içinde aslında benim Orada Tamam section--? 43 00:01:37,180 --> 00:01:38,020 TAMAM. 44 00:01:38,020 --> 00:01:40,150 Ama, o sizin için Benim bölümünde kimsin, 45 00:01:40,150 --> 00:01:42,180 sadece bir kaç sınıflandırma yorumluyor. 46 00:01:42,180 --> 00:01:44,899 >> Yorumlama İlk, gerçekten iyi bir iş. 47 00:01:44,899 --> 00:01:47,940 O sizin size, kim yorum yok muhtemelen çünkü sen kim olduğunu biliyorum 48 00:01:47,940 --> 00:01:50,610 Bu hafta dinged bazı stil puan aldı. 49 00:01:50,610 --> 00:01:53,920 Sadece emin olun tüm senin programlar birkaç yorum ekleyin. 50 00:01:53,920 --> 00:01:56,960 Gerçekten, stil gerçekten kolay Bir kapsam olarak doğru puan almak. 51 00:01:56,960 --> 00:01:58,710 Bizim için Yani, sadece yapmak Eğer naziksiniz emin 52 00:01:58,710 --> 00:02:03,770 tüm kısa bir açıklama ekleyerek Eğer ne yaptığınızı hakkında programlar. 53 00:02:03,770 --> 00:02:09,190 >> Secondly-- bunun için büyük bir sorundur Geçtiğimiz hafta-- TA bir sürü 54 00:02:09,190 --> 00:02:12,020 böylece emin yüklediğiniz yapmak Doğru ile doğru klasöre 55 00:02:12,020 --> 00:02:13,370 adlı programlar. 56 00:02:13,370 --> 00:02:16,820 Ve biz bunun için sormak nedenidir çünkü biz, derecelendirilmesi sırasında, 57 00:02:16,820 --> 00:02:20,820 aslında bir komut dosyası çalıştırmak senin otomatik olarak indirir kod 58 00:02:20,820 --> 00:02:24,780 senin psets hepsi çalışır hepsi üzerinde doğruluğu testleri, 59 00:02:24,780 --> 00:02:27,550 ve sonra puanları yüklenenler doğrudan not defterindeki içine. 60 00:02:27,550 --> 00:02:32,140 Ancak, herhangi bir noktada, eğer yanlış programı seçildi, 61 00:02:32,140 --> 00:02:34,510 entire kadar bu vidalar Herkes için bir program. 62 00:02:34,510 --> 00:02:37,280 >> Ve böylece, meşru, Bu güzel senaryo 63 00:02:37,280 --> 00:02:40,260 biz yapar yazdım o Bizim için tüm bu tamamen 64 00:02:40,260 --> 00:02:43,070 Eğer yoksa çöküyor Programınız düzgün adlandırılmış. 65 00:02:43,070 --> 00:02:46,020 Yani sadece doğru yükleyin Klasör, onlara doğru adında var 66 00:02:46,020 --> 00:02:47,372 ve daha sonra hayat iyi. 67 00:02:47,372 --> 00:02:49,080 Ben geri psets olsun Sizin çocuklar daha erken 68 00:02:49,080 --> 00:02:51,110 Ben hızlı sınıfa onlara olsun çünkü. 69 00:02:51,110 --> 00:02:52,461 Evet. 70 00:02:52,461 --> 00:02:52,960 TAMAM. 71 00:02:52,960 --> 00:02:57,870 Ve ayrıca biz konuşacağız about-- Yale gerçekten, gerçekten bir var 72 00:02:57,870 --> 00:02:59,950 Bu önümüzdeki iki hafta içinde tuhaf zamanlama. 73 00:02:59,950 --> 00:03:02,460 Sizlerle bu öylesine Harvard bu geçerli değildir. 74 00:03:02,460 --> 00:03:05,585 Ama Yale'de bizim için güzel çocuklar biz sonbahar denilen şey, üzgünüm break-- 75 00:03:05,585 --> 00:03:08,430 Harvard-- biz nereye Okul kapalı beş gün. 76 00:03:08,430 --> 00:03:12,270 Ve bu güzel iken, o tür bizim pset ritmini messes 77 00:03:12,270 --> 00:03:14,104 psets Perşembe, Cuma nedeniyle çünkü. 78 00:03:14,104 --> 00:03:16,020 Ve eğer öyleyse biz burada değiliz Perşembe, Cuma, biz 79 00:03:16,020 --> 00:03:18,640 Sizin için çalışmalarını olamaz Perşembe, Cuma günleri nedeniyle. 80 00:03:18,640 --> 00:03:23,832 >> Peki biz konum o-- yapacağız Bu ne oluyor ise% 99 emin gibi 81 00:03:23,832 --> 00:03:25,540 olabilir Bazı değiştirmek ama düşünüyorum 82 00:03:25,540 --> 00:03:28,460 subtle-- biz gidiyoruz olduğunu have-- bu hafta normaldir. 83 00:03:28,460 --> 00:03:32,130 Yani biz bizim bölümü var Salı ofis saatleri takip 84 00:03:32,130 --> 00:03:35,190 Haftanın geri kalanı boyunca ve sonra pset4 Cuma günü kaynaklanmaktadır. 85 00:03:35,190 --> 00:03:38,180 Sonra hepiniz bildiğiniz gibi, olduğu gibi Ben, geçen hafta sizleri hatırlattı 86 00:03:38,180 --> 00:03:41,700 Bizim sınav var 0 Çarşamba günü geliyor. 87 00:03:41,700 --> 00:03:44,400 >> Ve böylece, kendimi bir öğrenci olmanın, Seninle çok az biliyoruz 88 00:03:44,400 --> 00:03:49,110 adamlar aslında üzerinde çalışıyor olacak senin sınav iki gün önce pset5. 89 00:03:49,110 --> 00:03:51,110 Peki biz gidiyoruz Muhtemelen isimli yapıyor sonunda, 90 00:03:51,110 --> 00:03:54,840 Pazartesi gecesi, biz gidiyoruz gerçekte, 7:00 5:30 dan, 91 00:03:54,840 --> 00:03:59,970 kısa bir inceleme var konularda oturumu kapalı. 92 00:03:59,970 --> 00:04:02,040 Bir eğer Belirsiz oturumu veya bir Q & A gözden geçirin. 93 00:04:02,040 --> 00:04:04,650 Bu yorum bir çeşit olacak Biz ele alacağız hangi formu 94 00:04:04,650 --> 00:04:06,640 Sizin için uygun bazı konular. 95 00:04:06,640 --> 00:04:09,886 >> Ve sonra Pazartesi ve Salı geceleri 8:00 11:00 bu hafta, 96 00:04:09,886 --> 00:04:11,260 Biz ofis saatleri için gidiyoruz. 97 00:04:11,260 --> 00:04:14,500 Bu ofis saatleri olacak en büyük olasılıkla, sadece gelip daha fazla olması 98 00:04:14,500 --> 00:04:17,564 Tas ile ilgili soru sormak hakkında karıştı konum herhangi kavramlar, 99 00:04:17,564 --> 00:04:20,480 ve onlar tür sizinle üzerine gidersiniz sınav ve yorum kavramları. 100 00:04:20,480 --> 00:04:22,920 Quiz 0, sen iseniz Pazartesi, Çarşamba bölüm, 101 00:04:22,920 --> 00:04:26,480 sırasında Çarşamba günü olacak sınıf sırasında Çarşamba günü class--. 102 00:04:26,480 --> 00:04:29,530 Ve konum o takdirde Salı, Perşembe bölümü, 103 00:04:29,530 --> 00:04:32,577 Perşembe günü sınıf sırasında da olacak. 104 00:04:32,577 --> 00:04:34,410 Gerçekten seçemezsiniz hangisini gidin. 105 00:04:34,410 --> 00:04:35,640 Bir Pazartesi, Çarşamba iseniz, Çarşamba gitmek zorunda. 106 00:04:35,640 --> 00:04:38,056 Salı, Perşembe iseniz Perşembe gitmek zorunda. 107 00:04:38,056 --> 00:04:42,277 Ama sonra o gece, Bize güzel personel, olacak 108 00:04:42,277 --> 00:04:45,360 partiyi derecelendirilmesi dev bir sınav var hangi size geri puanları alırsınız 109 00:04:45,360 --> 00:04:46,190 o gece. 110 00:04:46,190 --> 00:04:46,900 Ne zaman? 111 00:04:46,900 --> 00:04:51,190 Belirsiz, kim bilir, ama olacak 24 saat içinde size geri olması 112 00:04:51,190 --> 00:04:53,700 böylece umarım siz Cuma gününe kadar bazı geribildirim var. 113 00:04:53,700 --> 00:04:55,870 >> Ve sonra biz gerçekten tuhaf hafta var. 114 00:04:55,870 --> 00:05:00,330 Böylece pset5 biridir Yılın en zor psets. 115 00:05:00,330 --> 00:05:03,370 Çok üzgünüm çocuklar. 116 00:05:03,370 --> 00:05:06,520 Ne denemek için gidiyoruz yapmak biz gidiyoruz olduğunu 117 00:05:06,520 --> 00:05:08,380 bazı gerçek destek bu hafta sonu. 118 00:05:08,380 --> 00:05:12,970 Çünkü siz, gördüğünüz gibi pset sonbahar tatili öncesinde kaynaklanmaktadır. 119 00:05:12,970 --> 00:05:16,760 Biz destek yok sonbahar tatilinde çocuklar 120 00:05:16,760 --> 00:05:18,897 ve bu yüzden gerçekten tür ifade etmek istiyorum, bu kadar, 121 00:05:18,897 --> 00:05:21,230 Hadi birlikte halledeyim en gerçekten zor iş let 122 00:05:21,230 --> 00:05:25,380 Bu önümüzdeki iki hafta, bu sınav olsun ile yapılan bu iki psets eklemek 123 00:05:25,380 --> 00:05:29,650 ve sonra siz güzel bir rahatlatıcı var CS düşünmeden yedi gün. 124 00:05:29,650 --> 00:05:33,750 >> Bunun için sırayla Yani , ne biz muhtemelen 125 00:05:33,750 --> 00:05:36,870 Benim bölümünü hareket edecek Pazar öğleden sonra ile. 126 00:05:36,870 --> 00:05:39,070 O kadar çekilecek hayır endişeler Gelip edemez. 127 00:05:39,070 --> 00:05:41,595 Ancak çevrimiçi filme olacak Orada ve erişilebilir 128 00:05:41,595 --> 00:05:47,630 böylece siz Pazar olması, Pazartesi, Salı, pset5 üzerinde çalışmak için. 129 00:05:47,630 --> 00:05:50,205 Ve o zaman sonbahar var Sonra kırmak ve hiçbir CS ve 130 00:05:50,205 --> 00:05:51,830 Biz geri gelip eziyet onun sırt. 131 00:05:51,830 --> 00:05:54,926 >> Ama olacak Sonbahar tatili için güzel bir hafta 132 00:05:54,926 --> 00:05:58,050 ve biz gerçekten stres olarak bunu yapmak istiyorum mümkün olduğunca herkes için ücretsiz olan 133 00:05:58,050 --> 00:06:02,620 Biz taşındık neden pset nedeniyle olmaktır sonra sonbahar sonu ziyade önce. 134 00:06:02,620 --> 00:06:07,601 Demek bu--, ben tür hissediyorum çünkü o sahip amacı yendi gibi 135 00:06:07,601 --> 00:06:10,850 varsa sonbahar aradan sonra son sonbahar tatilinde neyse herhangi bir destek. 136 00:06:10,850 --> 00:06:14,670 Bu yüzden sanırım rather-- var biz oldukça şimdi odaklanmak istiyorum. 137 00:06:14,670 --> 00:06:16,950 Herkes soruları var mı Bu program hakkında? 138 00:06:16,950 --> 00:06:17,830 Bir şey kafa karıştırıcı? 139 00:06:17,830 --> 00:06:18,330 Evet. 140 00:06:18,330 --> 00:06:20,944 >> HEDEF KİTLE: biz hala var mı 21 bir konferans? 141 00:06:20,944 --> 00:06:21,610 ANDI PENG: Evet. 142 00:06:21,610 --> 00:06:26,421 21 Yani, orada olacak Harvard canlı bir ders. 143 00:06:26,421 --> 00:06:29,170 David filme olup olmadığını bilmiyorum o ya da, o aslında ders eğer 144 00:06:29,170 --> 00:06:32,430 ama mevcut olacak Erişmeye çocuklar için çevrimiçi. 145 00:06:32,430 --> 00:06:35,510 Yani sadece bir bölmek emin olun sonbahar tatili yerde saat dışarı 146 00:06:35,510 --> 00:06:39,375 böylece siz yakalayabilirsiniz Bu ders üzerinde. 147 00:06:39,375 --> 00:06:39,875 Evet? 148 00:06:39,875 --> 00:06:40,300 >> HEDEF KİTLE: Evet. 149 00:06:40,300 --> 00:06:40,422 Özür dilerim. 150 00:06:40,422 --> 00:06:41,280 Burada bir couple-- var 151 00:06:41,280 --> 00:06:41,640 >> ANDI PENG: Endişeye gerek yok. 152 00:06:41,640 --> 00:06:42,556 Burada, bazı şeker almak. 153 00:06:42,556 --> 00:06:45,350 154 00:06:45,350 --> 00:06:47,800 >> HEDEF KİTLE: Hey, ben yakaladım. 155 00:06:47,800 --> 00:06:53,869 Dolayısıyla, sadece yarın değil, tekrarlamak ama Bundan sonra Çarşamba, biz bir sınav var. 156 00:06:53,869 --> 00:06:54,660 ANDI PENG: Doğru. 157 00:06:54,660 --> 00:06:59,207 HEDEF KİTLE: Ve şey olmak gidiyor sınav formatı nedir? 158 00:06:59,207 --> 00:06:59,790 ANDI PENG: Oh. 159 00:06:59,790 --> 00:07:03,870 Yani biz bir e-posta göndermek edeceğiz derinlemesine tüm bu daha kapsar. 160 00:07:03,870 --> 00:07:06,590 Ama, temelde, sadece kapakları Temel konular zaten örtülü 161 00:07:06,590 --> 00:07:09,042 dönemin ilk yarısında. 162 00:07:09,042 --> 00:07:12,250 Biz yorum oturumları ve soru olacak ve bu konuda hiçbir endişe cevapları. 163 00:07:12,250 --> 00:07:14,107 Ama biz çok üzerinde gidiyorum. 164 00:07:14,107 --> 00:07:16,940 HEDEF KİTLE: Bu olacak mı, biz Bizim bilgisayar ve kod getirmek orada-- 165 00:07:16,940 --> 00:07:17,140 ANDI PENG: Hayır 166 00:07:17,140 --> 00:07:20,130 Bu yazma çocuklar olacak ve elle soruları yanıtlayan. 167 00:07:20,130 --> 00:07:21,160 >> HEDEF KİTLE: Oh. 168 00:07:21,160 --> 00:07:23,160 >> ANDI PENG: Yani biz vereceğiz dışarı uygulamalar ve malzeme 169 00:07:23,160 --> 00:07:26,420 bu yüzden siz belki gitmek isteyebilirsiniz sırt ve elle Mario yeniden sadece 170 00:07:26,420 --> 00:07:28,100 Emin siz sahip olmak için Bunun nasıl bir fikir. 171 00:07:28,100 --> 00:07:29,933 Bazen ne zaman Çünkü Eğer elle size göre yazmak 172 00:07:29,933 --> 00:07:32,656 noktalı virgül ve şeyleri unutmak ve bu gerçekten kötü. 173 00:07:32,656 --> 00:07:34,156 HEDEF KİTLE: Bu [inaudible] olmayacak mı? 174 00:07:34,156 --> 00:07:38,290 Mesela, alıyoruz Senin- bir noktalı virgül 175 00:07:38,290 --> 00:07:40,270 >> ANDI PENG: Evet ve hayır. 176 00:07:40,270 --> 00:07:43,170 Biz derinlemesine daha fazla konuşacağız sınav düzeni nasıl dair 177 00:07:43,170 --> 00:07:44,550 ve nasıl sınıfa gidiyoruz. 178 00:07:44,550 --> 00:07:47,425 Ama esasen, sadece biliyorum genel format sizi olacak 179 00:07:47,425 --> 00:07:49,930 adamlar code-- yorumlama ya Temel sorulara cevap. 180 00:07:49,930 --> 00:07:51,370 Seni sorsaydım, kütüphane nedir? 181 00:07:51,370 --> 00:07:53,450 Siz bilmeli ne Kütüphane yapar ve bu yazınız. 182 00:07:53,450 --> 00:07:56,283 Ya ben bir program yazmak, söylemek olabilir Hello World ekranına yazdırır. 183 00:07:56,283 --> 00:08:01,140 Ana Siz yazarsınız, int hükümsüz printf merhaba dünya noktalı virgül. 184 00:08:01,140 --> 00:08:01,908 Evet. 185 00:08:01,908 --> 00:08:04,398 >> HEDEF KİTLE: Yani gitmiyor herhangi bir yerde olmak [duyulamaz] 186 00:08:04,398 --> 00:08:05,900 Sorunun zorluk seviyesi ayarlayın? 187 00:08:05,900 --> 00:08:06,170 >> ANDI PENG: Hayır 188 00:08:06,170 --> 00:08:06,380 Hayır. 189 00:08:06,380 --> 00:08:07,046 Biz evet o-. 190 00:08:07,046 --> 00:08:10,030 Bütününü Yazın 15 20 dakika oyun, gidin. 191 00:08:10,030 --> 00:08:12,120 Hayır, öyle olmayacak. 192 00:08:12,120 --> 00:08:12,801 Hayır. 193 00:08:12,801 --> 00:08:13,342 HEDEF KİTLE: Tamam. 194 00:08:13,342 --> 00:08:15,326 Yani çarşamba. 195 00:08:15,326 --> 00:08:19,017 Bu hafta da biz sırasında En zor problem belirledik? 196 00:08:19,017 --> 00:08:19,600 ANDI PENG: Hayır 197 00:08:19,600 --> 00:08:22,970 Yani sorun nedeniyle set sonbahar tatili bir gün önce. 198 00:08:22,970 --> 00:08:25,690 Schedule-- e-posta aslında dışarı göndermek oldu 199 00:08:25,690 --> 00:08:27,232 20 dakika önce tüm bu ilgili. 200 00:08:27,232 --> 00:08:28,689 Yani siz sadece e-postalarınızı kontrol. 201 00:08:28,689 --> 00:08:29,430 Orada olacak. 202 00:08:29,430 --> 00:08:30,060 Evet. 203 00:08:30,060 --> 00:08:31,701 Endişe etme. 204 00:08:31,701 --> 00:08:32,200 Güzel. 205 00:08:32,200 --> 00:08:34,900 206 00:08:34,900 --> 00:08:38,900 >> Ilgili her türlü genel sorular duyurular, derecelendirme, sınavlar, 207 00:08:38,900 --> 00:08:41,659 biz doğru dalmak önce tüketecek göstericiler 208 00:08:41,659 --> 00:08:45,060 Bizim bölüm zaman çoğunluğu bugün? 209 00:08:45,060 --> 00:08:47,030 Güzel. 210 00:08:47,030 --> 00:08:47,530 Pekala. 211 00:08:47,530 --> 00:08:50,905 Yani yaptığımız hepiniz bu lovely-- izle Ben diyorlar bilmiyorum. 212 00:08:50,905 --> 00:08:53,490 Şey burada claymation kendini havaya uçurdu çünkü o 213 00:08:53,490 --> 00:08:54,820 Doğru bir gösterici kullanmak vermedi. 214 00:08:54,820 --> 00:08:57,629 Peki, programınızı gidiyor eğer muhtemelen kendini havaya uçurmak 215 00:08:57,629 --> 00:08:59,170 doğru yanı işaretçileri kullanmak yok. 216 00:08:59,170 --> 00:09:01,250 Yani biz yapmak için gidiyoruz emin olmaz. 217 00:09:01,250 --> 00:09:04,810 >> Biz gidiyoruz Bugün Bazı gösterici eğlenceli yapmak. 218 00:09:04,810 --> 00:09:08,970 Ben şeye gidiyorum olarak sorunsuz olarak düşünüyorum 219 00:09:08,970 --> 00:09:10,790 Küçük bir süre içinde yapılabilir. 220 00:09:10,790 --> 00:09:14,592 Ama karşılamak için sadece çok şey var Gerçekten siz istediğiniz, 221 00:09:14,592 --> 00:09:17,300 Bir şey anlamak yoksa, sadece beni devam edelim. 222 00:09:17,300 --> 00:09:18,580 Bunu yapmazsanız Çünkü şey anlamak, 223 00:09:18,580 --> 00:09:21,329 muhtemelen gitmiyorsun Ondan sonra söylemek bir şey anlıyorum. 224 00:09:21,329 --> 00:09:23,310 Yani beni durdurmak ve bir soru sormak lütfen. 225 00:09:23,310 --> 00:09:25,380 Bunun her türlü Çünkü araya snowballs. 226 00:09:25,380 --> 00:09:27,800 Gibi, göstericiler içine kurşun Diğer şeylerin içine bellek kurşun. 227 00:09:27,800 --> 00:09:31,710 Ve böylece işaretçiler anlamıyorum eğer, Beni durdurmak ve biz bunu anlamaya edeceğiz 228 00:09:31,710 --> 00:09:35,070 ve hayat iyi olacak. 229 00:09:35,070 --> 00:09:35,680 >> Güzel. 230 00:09:35,680 --> 00:09:39,050 Peki dersinde Sizinle birçok, David işaretçileri bahsedilen zaman, 231 00:09:39,050 --> 00:09:42,050 senin beynini tür jöle dönüştü? 232 00:09:42,050 --> 00:09:42,550 Evet. 233 00:09:42,550 --> 00:09:44,190 İyi. 234 00:09:44,190 --> 00:09:46,900 Biz denemek için gidiyoruz de-jöle beynini bugün. 235 00:09:46,900 --> 00:09:50,300 Biz gerçekten sistematik gidiyoruz Tam bir işaretçi nedir geçmesi, 236 00:09:50,300 --> 00:09:52,530 öyle ve biz bunları nasıl kullandığımız. 237 00:09:52,530 --> 00:09:56,620 >> Yani hepsi çok pointers-- Normalde değişkenlerle 238 00:09:56,620 --> 00:10:00,920 bizim gibi, kodlama kullanıyorum Bu tür tamsayı veya dizeleri gibi değişkenler 239 00:10:00,920 --> 00:10:04,790 veya yüzer, hepsi temelde konum kendilerine atanan bir değer 240 00:10:04,790 --> 00:10:06,870 yanı sıra bir adres bu değere işaret. 241 00:10:06,870 --> 00:10:08,895 Yani şimdi bu hakkı çizmek için gidiyorum. 242 00:10:08,895 --> 00:10:14,270 243 00:10:14,270 --> 00:10:16,140 Biz hemen hemen hiç tebeşir var ama bu sorun değil. 244 00:10:16,140 --> 00:10:25,550 >> Yani, örneğin, normalde biz ettik yolu 245 00:10:25,550 --> 00:10:30,860 değişkenleri kullanıyorum biz oluşturmak olduğunu int türünde değişken adı, diyelim 246 00:10:30,860 --> 00:10:31,360 sadece söyle. 247 00:10:31,360 --> 00:10:37,360 Yani burada biz int x var ve biz konum 50 O int başlatılıyor. 248 00:10:37,360 --> 00:10:42,390 Yani burada belleğin bu blokta bizim Bilgisayarlar, biz 50 sayı kaydetmiş. 249 00:10:42,390 --> 00:10:46,170 Işaretçileri devreye girer böyledir Bu bilgisayar, burada, gibi itself-- 250 00:10:46,170 --> 00:10:48,880 fiziksel sabit disk Benim computer-- RAM içinde 251 00:10:48,880 --> 00:10:51,147 sadece bellek sınırlı miktarda vardır. 252 00:10:51,147 --> 00:10:53,980 Sadece bir şeyler saklamak devam edemez şeyin üstünde şeyler üzerine 253 00:10:53,980 --> 00:10:54,990 ve hepsini yok. 254 00:10:54,990 --> 00:10:59,570 >> Yani şekilde biz dinamik tahsis olduğunu Bellek ne istediğimizi saklamak mümkün 255 00:10:59,570 --> 00:11:03,150 ve erişim bu işaretçileri olan gereğidir. 256 00:11:03,150 --> 00:11:06,210 Yani doğru, bellek alanında düşünün. 257 00:11:06,210 --> 00:11:10,420 Bu RAM ise senin Bilgisayar, bu küçük bit var 258 00:11:10,420 --> 00:11:14,540 bloklar veya hafıza bayt veya bunlar sadece küçük olduğu hususların 259 00:11:14,540 --> 00:11:18,120 üzerinde tahsis edilmiş bloklar Bilgisayarınızın sabit disk ya da RAM, 260 00:11:18,120 --> 00:11:21,950 ve bu blokların her biri içinde Eğer farklı şeyler saklayabilirsiniz. 261 00:11:21,950 --> 00:11:26,990 Yani, örneğin, bir tane Bu örnekte, bir dizi 262 00:11:26,990 --> 00:11:29,984 burada tek byte Sekiz bitten oluşan. 263 00:11:29,984 --> 00:11:32,900 Numara bağlı olarak değişir Bilgisayarınızın işletim sistemi. 264 00:11:32,900 --> 00:11:35,942 Örneğin, kaç senin var 64-bit işletim karşı 32-bit duydum 265 00:11:35,942 --> 00:11:36,441 sistemler? 266 00:11:36,441 --> 00:11:37,070 Kesinlikle. 267 00:11:37,070 --> 00:11:38,860 >> Böylece tüm söyleyerek bu memory-- olmasıdır 268 00:11:38,860 --> 00:11:42,420 yol, bilgisayarınızın o Hafıza farklıdır yönetir. 269 00:11:42,420 --> 00:11:45,370 Gerçekten bu neden olan anlamak önemlidir 270 00:11:45,370 --> 00:11:49,450 Neden bellek kendisi işlevleri yerine daha numaralara dikkat edin. 271 00:11:49,450 --> 00:11:52,400 Yani biz gerçekten umurumda değil bu nasıl dizi büyük 272 00:11:52,400 --> 00:11:55,710 biz sadece umurumda gerekir ise ne kadar büyük biz olmak bir int ihtiyacım var, 273 00:11:55,710 --> 00:11:58,350 ne kadar büyük do bir dize ihtiyacımız olmak, bir işaretçi nasıl büyük? 274 00:11:58,350 --> 00:12:00,630 275 00:12:00,630 --> 00:12:01,130 TAMAM. 276 00:12:01,130 --> 00:12:03,690 Bu yüzden bir çok olacak ağır, yoğun bilgi. 277 00:12:03,690 --> 00:12:07,005 Ben Sizi vereceğim Burada birkaç komik kabartma anlar. 278 00:12:07,005 --> 00:12:09,130 Siz bütün gerekir Şimdi bunu anlamak için. 279 00:12:09,130 --> 00:12:12,550 Biz biliyoruz çünkü göstericiler adresler, 280 00:12:12,550 --> 00:12:14,480 ve bu değişkenler farklıdır. 281 00:12:14,480 --> 00:12:14,980 TAMAM. 282 00:12:14,980 --> 00:12:15,610 Güzel. 283 00:12:15,610 --> 00:12:17,065 CS espriler evet, en iyisi mi? 284 00:12:17,065 --> 00:12:19,800 285 00:12:19,800 --> 00:12:23,450 >> Yani biz gitmek yolu Bir işaretçi oluşturma hakkında 286 00:12:23,450 --> 00:12:25,750 sözdizimi çok özel bir tür olduğunu. 287 00:12:25,750 --> 00:12:27,870 Herhangi oluşturma gibi değişkenin türü, bu kadar 288 00:12:27,870 --> 00:12:30,240 Belirli olacak biz bunu oluşturmak için kullanabilirsiniz sözdizimi. 289 00:12:30,240 --> 00:12:34,830 Yani herhangi işaretçi bildirirken, Bir gösterici sadece essentially-- olduğunu 290 00:12:34,830 --> 00:12:37,040 Ben önemli bence İşaretçiler bir parçasıdır 291 00:12:37,040 --> 00:12:41,650 değişken oysa bu Bir değer ve bir adres, hem 292 00:12:41,650 --> 00:12:44,100 Bir gösterici bir adres. 293 00:12:44,100 --> 00:12:45,740 Onun değeri bir adres. 294 00:12:45,740 --> 00:12:48,120 Yani saklanan bir adres var Farklı bir adreste. 295 00:12:48,120 --> 00:12:49,120 Herhangi bir mantıklı olursa. 296 00:12:49,120 --> 00:12:52,390 Biz, daha ayrıntılı olarak üzerinde gidersiniz ama bu genel form 297 00:12:52,390 --> 00:12:54,370 Yazıcı nasıl depolandığını Neden-- evi. 298 00:12:54,370 --> 00:12:58,900 >> Yani bir işaretçi oluşturmak yolu Verilerin ne tür yaparak olduğunu 299 00:12:58,900 --> 00:13:02,840 işaretçi gidiyor referans ve olmaya zaten-- 300 00:13:02,840 --> 00:13:05,324 Daha sonra star-- ile işaretçi adı. 301 00:13:05,324 --> 00:13:07,240 Yani burada, eğer biz istedik bir işaretçi oluşturmak için 302 00:13:07,240 --> 00:13:11,640 bir tamsayı doğru çekti ve biz işaretçi adı x olmak istedim, 303 00:13:11,640 --> 00:13:13,880 Biz int yıldız x yapardı. 304 00:13:13,880 --> 00:13:14,380 Evet? 305 00:13:14,380 --> 00:13:16,680 >> HEDEF KİTLE: Ve eğer öyleyse Aşağıdaki satırı size 306 00:13:16,680 --> 00:13:20,045 int x yapmak, olacak int yıldız x x konumunu göstermektedir 307 00:13:20,045 --> 00:13:21,170 sonradan tanımlarken musun? 308 00:13:21,170 --> 00:13:22,000 >> ANDI PENG: Gerçekten iyi bir soru. 309 00:13:22,000 --> 00:13:23,860 Bu in üzerine gidersiniz Bir çift daha sonra kayar. 310 00:13:23,860 --> 00:13:24,920 Evet. 311 00:13:24,920 --> 00:13:27,610 Ve daha sonra da aynı şey karakter ve aynı şey yüzer. 312 00:13:27,610 --> 00:13:29,950 Sadece bu noktada biliyor Biz bir işaretçi yarattık, 313 00:13:29,950 --> 00:13:32,470 biz aslında set değil Henüz bir şey eşit. 314 00:13:32,470 --> 00:13:34,110 Biz aslında başvurulan değil. 315 00:13:34,110 --> 00:13:36,087 Aynı şey burada Eğer bir değişken oluşturmak, 316 00:13:36,087 --> 00:13:39,420 Eğer değişkenin adını yarattık, Aslında buna bir değeri yok. 317 00:13:39,420 --> 00:13:41,410 Burada aynı şey. 318 00:13:41,410 --> 00:13:42,110 >> TAMAM. 319 00:13:42,110 --> 00:13:44,670 Peki işaretçiler değerleri ayarlayabilirim? 320 00:13:44,670 --> 00:13:47,190 Bu referans ve kaldırma tarafından bu. 321 00:13:47,190 --> 00:13:52,260 Yani şekilde biz referans olabilir Bir özünde, bir gösterici varia-- 322 00:13:52,260 --> 00:13:56,630 biz bellek adresi iade bu değişken depolanır. 323 00:13:56,630 --> 00:14:02,550 Ben bir pointer-- olsaydı çekersiniz Yani Bu kez biz, sonraki slayta olsun 324 00:14:02,550 --> 00:14:05,760 ama sadece temelde, biliyorum, işareti ve- 325 00:14:05,760 --> 00:14:10,240 ve variable-- tüm Size adresi söyleyeyim olduğunu yapar 326 00:14:10,240 --> 00:14:11,780 nerede bir şey saklanır. 327 00:14:11,780 --> 00:14:15,730 Ve başvurusu kaldırma tersidir Sadece yıldız olan o, bir. 328 00:14:15,730 --> 00:14:18,950 Yıldız, sadece size gerçek verir bu adreste saklanan veriler. 329 00:14:18,950 --> 00:14:21,090 >> Yani kimse seni adresi verir Bir adreste saklanır, 330 00:14:21,090 --> 00:14:23,945 Diğer size gerçek verir adresinde saklanan değer. 331 00:14:23,945 --> 00:14:25,820 Yani ikisi vermek Eğer farklı şeyler. 332 00:14:25,820 --> 00:14:27,755 333 00:14:27,755 --> 00:14:29,880 Bir kez daha, slaytlar tüm online yüzden hiçbir endişe 334 00:14:29,880 --> 00:14:33,200 Siz kopya edemez zaman içinde bu aşağı. 335 00:14:33,200 --> 00:14:36,330 >> Yani bir göz atalım Burada bu örneğe. 336 00:14:36,330 --> 00:14:40,530 Yani biz bir dev var Burada bellek dizisi, değil mi? 337 00:14:40,530 --> 00:14:42,920 Biz sadece bloklar var Nerede hafıza hafıza veya bayt, 338 00:14:42,920 --> 00:14:45,060 hangi biz farklı şeyler saklayabilirsiniz. 339 00:14:45,060 --> 00:14:47,310 Sadece bunlar diyelim Bellekte adres puan. 340 00:14:47,310 --> 00:14:51,350 Yani her zaman var - 0x bakın bütün bu olduğunu anlatıyor 341 00:14:51,350 --> 00:14:52,930 bir onaltılık basamak var. 342 00:14:52,930 --> 00:14:56,310 Hepiniz, sayılar bildiği gibi Farklı üslerinde dayalı olabilir. 343 00:14:56,310 --> 00:14:58,770 Base 10 nasıl tipik numaralarını yorumlamak. 344 00:14:58,770 --> 00:15:00,550 Ikili taban 2 de var. 345 00:15:00,550 --> 00:15:03,366 Ve bu durumda, onaltılık taban 16. 346 00:15:03,366 --> 00:15:06,240 Bu demenin farklı bir yolu 10-- sıfır ya da sıfırdan dokuza 347 00:15:06,240 --> 00:15:10,904 ve daha sonra, aynı zamanda, A, B, C, D, E, F Ayrıca farklı numaralar başvuruyor. 348 00:15:10,904 --> 00:15:12,570 Davut kısaca konuşmasında bu gitti. 349 00:15:12,570 --> 00:15:14,280 Siz ise şaşkın, sadece Google'da. 350 00:15:14,280 --> 00:15:17,370 Öğrenmek için gerçekten çok kolay yolu var onaltılık basamak nedir. 351 00:15:17,370 --> 00:15:19,510 Bütün bu gerçekten alakalı Şu anda sizin için 352 00:15:19,510 --> 00:15:24,170 adamlar a bilmek C onaltılık basamak 353 00:15:24,170 --> 00:15:27,090 siz-- anlatır tipik olarak Bir işaretçi olduğunu söyler. 354 00:15:27,090 --> 00:15:29,150 Ya da bir adres. 355 00:15:29,150 --> 00:15:33,310 >> Yani burada bu örnekte, int x 5 eşittir. 356 00:15:33,310 --> 00:15:36,350 Biz integer-- oluşturuyorsanız Çeşidi üzgünüm, değişken 357 00:15:36,350 --> 00:15:39,090 tamsayı ve 5'e başlatılıyor ediyoruz. 358 00:15:39,090 --> 00:15:47,040 Yani burada bizim hafıza kartındaki, biz gördüğünüz x 0x0 adreste 359 00:15:47,040 --> 00:15:50,550 ve var değeri bu 5'tir içinde saklanır. 360 00:15:50,550 --> 00:15:52,370 Bu mantıklı olmalıdır Herkese, değil mi? 361 00:15:52,370 --> 00:15:53,030 TAMAM. 362 00:15:53,030 --> 00:15:56,520 >> Ve sonra biz ne yaptık kod ikinci satırında 363 00:15:56,520 --> 00:16:00,290 biz yarattık ki int türünde bir gösterici. 364 00:16:00,290 --> 00:16:02,750 İşte ne int Yıldız işaretçi yapıyor. 365 00:16:02,750 --> 00:16:07,320 Ve bu eşit olduğunu işareti x Sana bir şey adresini vererek olduğunu. 366 00:16:07,320 --> 00:16:12,120 X adresinde Yani Bu örnekte, 0x0 olup. 367 00:16:12,120 --> 00:16:15,630 Ve böylece adres ediliyor Bu işaretçi saklanır. 368 00:16:15,630 --> 00:16:17,360 Bu herkese mantıklı mı? 369 00:16:17,360 --> 00:16:19,965 >> Yani bu-- düşünüyorum Burada pointers-- düşünüyorum 370 00:16:19,965 --> 00:16:24,780 Yale bir posta kutusu sistemine sahip Her öğrencinin bir posta sahip olduğu 371 00:16:24,780 --> 00:16:26,960 Eğer nereye adresi LW bodruma 372 00:16:26,960 --> 00:16:30,492 ve sadece gidip kapmak olabilir ne olursa olsun o adrese ihtiyacınız. 373 00:16:30,492 --> 00:16:32,450 Aynı şey oluyor Burada bir bilgisayar. 374 00:16:32,450 --> 00:16:36,770 Bu hafıza bayt var Eğer bilgi içine saklayabilirsiniz 375 00:16:36,770 --> 00:16:39,529 ancak sipariş bilmek hangi bilgi parçaları 376 00:16:39,529 --> 00:16:42,570 bulmak için çalışıyoruz ne kadar maç ve, bir işaretçi gereken yere bu 377 00:16:42,570 --> 00:16:43,740 oraya nasıl gideceğini söyler. 378 00:16:43,740 --> 00:16:47,270 >> Yani, örneğin, benim için, benim posta kutusu, Belirli bir beş basamaklı bir numara var. 379 00:16:47,270 --> 00:16:48,400 O benim adresim. 380 00:16:48,400 --> 00:16:51,880 Yani fiziksel olarak belleğe gidebilir, Ben adresinde bakabilirsiniz 381 00:16:51,880 --> 00:16:54,507 O PO kutusuna gidebilir ve içindeki verilere erişmek. 382 00:16:54,507 --> 00:16:57,090 Bu Herkese mantıklı mı Bilgisayarınız esasen 383 00:16:57,090 --> 00:16:59,000 aynı şeyi yapıyor. 384 00:16:59,000 --> 00:17:02,750 >> Bu nedenle tüm işaretçi yapıyor olmasıdır Sadece bir hafıza yaratıyor 385 00:17:02,750 --> 00:17:06,099 ve bellek veri aslında başka bir şey adresi. 386 00:17:06,099 --> 00:17:08,210 Sonra gidip o bulabilirsiniz. 387 00:17:08,210 --> 00:17:09,060 Herkes iyi? 388 00:17:09,060 --> 00:17:10,720 Şimdiye kadar bana iyi herkes? 389 00:17:10,720 --> 00:17:11,360 TAMAM. 390 00:17:11,360 --> 00:17:11,859 Güzel. 391 00:17:11,859 --> 00:17:14,311 392 00:17:14,311 --> 00:17:14,810 Pekala. 393 00:17:14,810 --> 00:17:19,160 Daha önce olduğu gibi Yani hemen hemen aynı şey. 394 00:17:19,160 --> 00:17:23,849 Bu yüzden ilk olarak, bir değişken var adı X burada case-- 395 00:17:23,849 --> 00:17:27,700 Ben 5 bu değeri değiştirmek için gidiyorum. 396 00:17:27,700 --> 00:17:31,820 Sadece adres diyelim bellekte bu 0x0'dır. 397 00:17:31,820 --> 00:17:33,070 00. 398 00:17:33,070 --> 00:17:33,570 Büyük. 399 00:17:33,570 --> 00:17:35,320 >> Öyleyse, bizim ikinci kod satırı, biz konum 400 00:17:35,320 --> 00:17:41,210 bir işaretçi oluşturmak için gidiyor ptr işaretçi denir. 401 00:17:41,210 --> 00:17:45,760 Ve bu adresi, haydi sadece hafızada 0x01 olduğunu söylüyorlar. 402 00:17:45,760 --> 00:17:48,280 Ve biz aslında istiyoruz işareti store-- 403 00:17:48,280 --> 00:17:50,620 x sana ne x adresini verir. 404 00:17:50,620 --> 00:17:53,990 Ve x adresi 0x00 oldu. 405 00:17:53,990 --> 00:17:57,300 Yani bu işaretçi şimdi aslında adresine sahip 406 00:17:57,300 --> 00:18:00,210 ne x onun değeri olarak depolanmaktadır. 407 00:18:00,210 --> 00:18:01,700 Bugüne kadar benimle herkes? 408 00:18:01,700 --> 00:18:02,320 Güzel. 409 00:18:02,320 --> 00:18:04,670 >> Ve sonra, yolu, biz kopya olur, 410 00:18:04,670 --> 00:18:09,650 Biz beyan ve başlatmak olsaydı olduğunu int türünde bellek başka blok. 411 00:18:09,650 --> 00:18:10,150 Sağ? 412 00:18:10,150 --> 00:18:11,130 Bu bir int olacaktır. 413 00:18:11,130 --> 00:18:14,130 Bu kopya olacağını söyledi. 414 00:18:14,130 --> 00:18:17,120 Ve bunu get-- gidiyoruz Yıldız işaretçi verir 415 00:18:17,120 --> 00:18:19,080 Bu adresten gerçek veri. 416 00:18:19,080 --> 00:18:22,490 Işareti size adresini verir, Yıldız sana verileri verir. 417 00:18:22,490 --> 00:18:24,630 Işaretçi öylesine veri. 418 00:18:24,630 --> 00:18:29,420 Bu işaretçi 5 işaret ediyor. 419 00:18:29,420 --> 00:18:33,140 Ve böylece bu fonksiyon yıldız burada-- pointer-- 420 00:18:33,140 --> 00:18:39,740 gider de ne olursa olsun alır Bu blok ve burada depolar. 421 00:18:39,740 --> 00:18:41,730 Herkes bu oldu nasıl anlaşılır? 422 00:18:41,730 --> 00:18:45,490 >> Yani iki operatör doğru orada-- işareti ve star-- 423 00:18:45,490 --> 00:18:48,250 sadece farklı şeyler yapmak işaretçileri kullanıldığında. 424 00:18:48,250 --> 00:18:50,837 Bir Size adresi alır, tek Size gerçek değerini alır. 425 00:18:50,837 --> 00:18:53,670 Yani siz ne zaman emin olun Eğer ikisini karıştırmayın kodlama 426 00:18:53,670 --> 00:18:55,650 onlar çok farklı çünkü. 427 00:18:55,650 --> 00:18:58,880 Burada bir 0x01 güzel bir örnek var. 428 00:18:58,880 --> 00:19:01,207 Bu gerçekten güzel az sayıda hatırlamak. 429 00:19:01,207 --> 00:19:03,040 Gerçek bilgisayarında Eğer zorunda gidiyoruz 430 00:19:03,040 --> 00:19:06,740 şey dev bir eşek numarası Bu hoş değil, hoş değil bu. 431 00:19:06,740 --> 00:19:08,280 Bazı çöp değeri olacak. 432 00:19:08,280 --> 00:19:10,920 Ve bu yüzden, gerçekten gidiyor gerçekten pisliği programlarınızı. 433 00:19:10,920 --> 00:19:12,670 Bu çok önemli Şu anda sahip olduğumuz 434 00:19:12,670 --> 00:19:16,150 gibi neden-- aşağı temelleri, fiziksel olarak ne zaman ne oluyor 435 00:19:16,150 --> 00:19:18,270 kod bu bloklar koşuyoruz. 436 00:19:18,270 --> 00:19:19,120 Evet herkes--? 437 00:19:19,120 --> 00:19:21,425 >> HEDEF KİTLE: int x int kopyası eşittir Yani? 438 00:19:21,425 --> 00:19:24,650 439 00:19:24,650 --> 00:19:34,970 >> ANDI PENG: Hayır, çünkü bu durumda, int x-- x-- değeri sağ, 5 eşittir? 440 00:19:34,970 --> 00:19:40,546 Ve sonra int kopya 5 eşittir. 441 00:19:40,546 --> 00:19:43,420 Yani sanki onları eşit için birbirlerine onlar tamsayılar çünkü, 442 00:19:43,420 --> 00:19:46,379 Evet, onlar gerçek olarak değerlendirmek istiyorum. 443 00:19:46,379 --> 00:19:49,670 Ama bellekte dizeleri gibi, olsaydı Davut Örneğin sırasında yaptığı tek, 444 00:19:49,670 --> 00:19:51,670 farklı çünkü Onlar baþvurduðunuzu 445 00:19:51,670 --> 00:19:54,920 bellekte yer adresleri ve onlar yanlış denk olur. 446 00:19:54,920 --> 00:20:00,070 >> Sen çünkü doğru olacaktır burada çok doğrudan integers-- values-- karşılaştırarak 447 00:20:00,070 --> 00:20:02,240 ama diğerleri sen referans noktaları. 448 00:20:02,240 --> 00:20:05,290 Bir dize, bir dizi olduğu için ve Bay Kane bu later-- bahsedeceğiz 449 00:20:05,290 --> 00:20:09,940 ama dizi aslında sadece bir olduğunu bellekte karakter bir demet işaretçisi. 450 00:20:09,940 --> 00:20:11,610 Yani o biraz farklıdır. 451 00:20:11,610 --> 00:20:14,642 Ancak bu durumda, evet, Bunu yapabilirdi. 452 00:20:14,642 --> 00:20:17,354 >> HEDEF KİTLE: açıklayabilir misiniz kopya adresi? 453 00:20:17,354 --> 00:20:18,020 ANDI PENG: Evet. 454 00:20:18,020 --> 00:20:20,030 Böylece sadece-- Ben bu Bir değer doldurmak vermedi 455 00:20:20,030 --> 00:20:23,022 ama diğer sadece bazı rasgele var biz umurumda değil çöp değer. 456 00:20:23,022 --> 00:20:25,730 Program başladıktan sonra Çünkü Eğer biz aslında yok olduğunu fark 457 00:20:25,730 --> 00:20:28,150 Gerçekten ne umurumda Gerçek adresleri vardır 458 00:20:28,150 --> 00:20:30,470 biz sadece bilmek gerekir Ne adreslerde var. 459 00:20:30,470 --> 00:20:31,608 Evet. 460 00:20:31,608 --> 00:20:36,034 >> HEDEF KİTLE: on int sonraki yıldız İkinci satır, farklı edemememden var 461 00:20:36,034 --> 00:20:36,700 ANDI PENG: Evet. 462 00:20:36,700 --> 00:20:39,015 HEDEF KİTLE: --the dereferencing ve yıldız referans? 463 00:20:39,015 --> 00:20:39,681 ANDI PENG: Evet. 464 00:20:39,681 --> 00:20:43,180 C- yazarları Yani kim dilini yazmaya karar verdim C- 465 00:20:43,180 --> 00:20:44,200 çok akıllı değildi. 466 00:20:44,200 --> 00:20:46,830 Onlar çalışırken çok akıllı değil Bunu yapmalıyız anlamaya. 467 00:20:46,830 --> 00:20:49,413 O bendim, ben kesinlikle olur İki farklı karakterleri kullanın. 468 00:20:49,413 --> 00:20:52,100 Ama aynı bir kullanmaya karar verdi. 469 00:20:52,100 --> 00:20:56,607 >> Yani bir int sonra yıldızı, Bu bilgisayar söyler 470 00:20:56,607 --> 00:20:58,190 Eğer bir işaretçi oluşturmak üzereyiz söyledi. 471 00:20:58,190 --> 00:21:00,820 Ama dereference etmeye çalışıyorsanız şey-- diğer bir deyişle, 472 00:21:00,820 --> 00:21:03,780 adrese gidin ve çekin somewhere-- verileri 473 00:21:03,780 --> 00:21:05,070 Yıldız farklı kullanılır. 474 00:21:05,070 --> 00:21:08,750 Yani siz sadece konusunda dikkatli olmak değil iki kullanır çıkmasını. 475 00:21:08,750 --> 00:21:09,870 Güzel. 476 00:21:09,870 --> 00:21:10,605 Evet? 477 00:21:10,605 --> 00:21:14,680 >> HEDEF KİTLE: Yani lazım tekrarlamak Ben following-- olduğumu emin olun 478 00:21:14,680 --> 00:21:16,252 >> ANDI PENG: Tamamen iyi. 479 00:21:16,252 --> 00:21:20,491 >> HEDEF KİTLE: sol tarafında --in Bu slayt, biz biliyoruz, bir şey yapmak. 480 00:21:20,491 --> 00:21:23,124 Biz bir tamsayı bildirmek [Duyulamaz] 5'e eşit olduğu. 481 00:21:23,124 --> 00:21:23,790 ANDI PENG: Evet. 482 00:21:23,790 --> 00:21:24,456 HEDEF KİTLE: Doğru. 483 00:21:24,456 --> 00:21:28,960 Ve sonra biz bir int yıldız şey var ve Tamam, biraz biz gibi, diyor 484 00:21:28,960 --> 00:21:31,235 Şimdi, bir tamsayı ilan Biz bir işaretçi ilan ediyoruz. 485 00:21:31,235 --> 00:21:32,110 ANDI PENG: Doğru. 486 00:21:32,110 --> 00:21:32,410 Doğru. 487 00:21:32,410 --> 00:21:32,710 >> HEDEF KİTLE: Sağ? 488 00:21:32,710 --> 00:21:33,870 Ve bizim gösterici ptr olduğunu. 489 00:21:33,870 --> 00:21:34,080 >> ANDI PENG: Evet. 490 00:21:34,080 --> 00:21:35,460 Işaretçi adı ptr olduğunu. 491 00:21:35,460 --> 00:21:35,959 Pointer. 492 00:21:35,959 --> 00:21:39,000 HEDEF KİTLE: Ve o zaman Sadece C söyler NX eşittir 493 00:21:39,000 --> 00:21:44,667 en değer erişmek istiyor o değeri tam sayı x x-- tamsayıdır 494 00:21:44,667 --> 00:21:45,800 atandı. 495 00:21:45,800 --> 00:21:49,050 >> ANDI PENG: Dikkatli olun işareti aslında x çünkü 496 00:21:49,050 --> 00:21:53,120 sen-- bilgisayar söyler size x ne adresini çekmek istiyorum. 497 00:21:53,120 --> 00:21:56,350 Yani işareti verir adres, yıldız size değer verir. 498 00:21:56,350 --> 00:21:58,255 >> HEDEF KİTLE: Yani biz adresini istiyoruz. 499 00:21:58,255 --> 00:22:02,075 En x at-- oldu diyelim 500 00:22:02,075 --> 00:22:03,950 ANDI PENG: Biz aslında Doğru ne x biliyor musun? 501 00:22:03,950 --> 00:22:06,790 Biz Ben-- o x Çünkü biliyorum Bu uyduruyor ama diyelim, 502 00:22:06,790 --> 00:22:08,760 keyfi, o 0x00 oldu. 503 00:22:08,760 --> 00:22:09,590 Sağ? 504 00:22:09,590 --> 00:22:14,120 Yani biz Adres 0x00 olduğunu biliyorum, ve bu yüzden biz gidip ampersand x zaman, 505 00:22:14,120 --> 00:22:17,050 biz biliyoruz 0x00 değerlendirmek gerekir. 506 00:22:17,050 --> 00:22:20,810 Hangi biz saklanan neden Bizim işaretçi değeri olarak. 507 00:22:20,810 --> 00:22:21,924 bu mantıklı mı? 508 00:22:21,924 --> 00:22:22,832 >> HEDEF KİTLE: Evet. 509 00:22:22,832 --> 00:22:28,057 Ve kopya inceleyebilirsiniz ptr-- gider 510 00:22:28,057 --> 00:22:28,765 ANDI PENG: Doğru. 511 00:22:28,765 --> 00:22:30,473 HEDEF KİTLE: --which olduğunu biz ettik bir işaretçi 512 00:22:30,473 --> 00:22:35,220 bize beyan tamsayı x adresi. 513 00:22:35,220 --> 00:22:36,160 >> ANDI PENG: Evet. 514 00:22:36,160 --> 00:22:39,272 >> HEDEF KİTLE: Ve bu bir olgu, yıldız ptr 515 00:22:39,272 --> 00:22:41,256 = 5 x değerine eşit. 516 00:22:41,256 --> 00:22:42,744 >> ANDI PENG: Doğru. 517 00:22:42,744 --> 00:22:44,728 >> HEDEF KİTLE: Serin. 518 00:22:44,728 --> 00:22:49,382 Ve bu almak için basit bir yoldur Bu ya da sadece bu yol-- 519 00:22:49,382 --> 00:22:51,840 ANDI PENG: Peki şu anda Bizim için çok mantıklı görünmüyor 520 00:22:51,840 --> 00:22:54,690 yapıyor, bu zaman harcamak için Bu süper karmaşık bir şey olduğunda 521 00:22:54,690 --> 00:22:57,606 Tüm biz sadece iki oluşturmak olduğunu yaptık 5 değeri ile tamsayılar, değil mi? 522 00:22:57,606 --> 00:22:58,900 Bu mantıklı değil. 523 00:22:58,900 --> 00:23:03,060 Ama bir kez biz üzerinden gidersiniz bellek ayırma ve- yaparız 524 00:23:03,060 --> 00:23:06,067 bu neden olabilir gitmek kullanışlı ve yararlı sonra. 525 00:23:06,067 --> 00:23:09,150 Ben sadece yok Dediğimde bana güven sizin için bu keyfi işlevler oluşturmak 526 00:23:09,150 --> 00:23:11,340 Biz çünkü adamlar öğrenmek Sizinle uğraşmak için çalışıyor. 527 00:23:11,340 --> 00:23:14,550 Orada aslında tüm bunlar için kullandığı şeyler ve biz onlar hakkında konuşacağız. 528 00:23:14,550 --> 00:23:14,950 >> HEDEF KİTLE: Korku. 529 00:23:14,950 --> 00:23:15,350 >> ANDI PENG: Evet. 530 00:23:15,350 --> 00:23:16,150 >> HEDEF KİTLE: [duyulamaz]. 531 00:23:16,150 --> 00:23:16,450 >> ANDI PENG: İyi bir soru. 532 00:23:16,450 --> 00:23:17,510 >> HEDEF KİTLE: [duyulamaz]. 533 00:23:17,510 --> 00:23:18,000 >> ANDI PENG: Öyle değil. 534 00:23:18,000 --> 00:23:18,666 Gerçekten değil. 535 00:23:18,666 --> 00:23:21,050 HEDEF KİTLE: --two değişkenler bu da eşit [duyulamaz]. 536 00:23:21,050 --> 00:23:22,400 TAMAM. 537 00:23:22,400 --> 00:23:23,070 >> ANDI PENG: Evet. 538 00:23:23,070 --> 00:23:23,570 TAMAM. 539 00:23:23,570 --> 00:23:25,249 Ben geçmeden önce, herkes açıktır? 540 00:23:25,249 --> 00:23:26,790 Ben biraz geç aldım, Taylor biliyorum. 541 00:23:26,790 --> 00:23:27,490 Tamam. 542 00:23:27,490 --> 00:23:28,100 Bu çevrimiçi olduğunu. 543 00:23:28,100 --> 00:23:30,600 İlk 20 izleyeceğim dakika ve tüm iyi olacak. 544 00:23:30,600 --> 00:23:31,190 TAMAM. 545 00:23:31,190 --> 00:23:31,690 Güzel. 546 00:23:31,690 --> 00:23:35,597 547 00:23:35,597 --> 00:23:37,140 >> Pekala. 548 00:23:37,140 --> 00:23:41,270 Yani bu temelde tür bir biz sadece yaptığımız benzer bir şey. 549 00:23:41,270 --> 00:23:43,100 Bu sadece bir grafik formda var. 550 00:23:43,100 --> 00:23:47,070 Ne izlemek olsaydı oluverdi, int x, 5 eşittir 551 00:23:47,070 --> 00:23:52,159 Bütün bu nokta da yaptık int türünde x isimli bir değişken oluşturmak. 552 00:23:52,159 --> 00:23:54,200 Biz saklamak için gidiyoruz Bunun 5 iç değeri. 553 00:23:54,200 --> 00:23:57,366 Biz değil, çünkü hiçbir işaretçi var aslında doğru, henüz bir gösterici yarattı? 554 00:23:57,366 --> 00:24:00,302 Ve sonra bir sonraki içinde çizgi, int yıldız işaretçi, 555 00:24:00,302 --> 00:24:02,760 biz aslında nereli işte fiziksel işaretçi oluşturma 556 00:24:02,760 --> 00:24:05,010 ve biz bu ayarı ediyoruz ya da referans eşit 557 00:24:05,010 --> 00:24:07,250 işareti x işaretçi. 558 00:24:07,250 --> 00:24:10,002 Hangi nerede olursanız olun içinde hafıza Bu olması oldu. 559 00:24:10,002 --> 00:24:12,210 Aslında rahatsız etmedi Bir değer bu sefer oluşturan. 560 00:24:12,210 --> 00:24:14,900 Ancak bu durumda, o nokta Eğer eşit olacaktır. 561 00:24:14,900 --> 00:24:18,060 >> Ve sonra orada, yıldız işaretçiyi kaldırma olduğunu. 562 00:24:18,060 --> 00:24:20,310 Biz konum İşte bu noktada bilgi çekerek. 563 00:24:20,310 --> 00:24:24,170 Yani x bu değeri aslında 35 eşit olacak. 564 00:24:24,170 --> 00:24:30,390 Bu yüzden bu noktada, biz aslında ettik Sadece 35 x yeniden başlatılmakta 565 00:24:30,390 --> 00:24:32,320 Aslında x dokunmadan. 566 00:24:32,320 --> 00:24:34,560 Sadece işaretçi Bu, x işaret ediyordu 567 00:24:34,560 --> 00:24:36,910 biz aslında ne x değiştirebilirsiniz. 568 00:24:36,910 --> 00:24:38,420 Ben de bu dışarı çekmek için gidiyorum. 569 00:24:38,420 --> 00:24:52,200 >> Yani burada biz yarattık Burada bazı rasgele adres. 570 00:24:52,200 --> 00:24:54,734 Sadece tekrar 0x00 diyelim. 571 00:24:54,734 --> 00:24:56,150 Sadece bu adres diyelim. 572 00:24:56,150 --> 00:25:00,830 Ve biz bir tamsayı adlı x yarattık ve bunu atadığınız değeri 5'tir. 573 00:25:00,830 --> 00:25:03,840 İkinci satırda, int pointer-- şimdi biz ettik 574 00:25:03,840 --> 00:25:07,820 Bu ikinci şey var burada adı pointer-- 575 00:25:07,820 --> 00:25:14,310 ve biz diyelim aşağıdaki amaçlara gidiyoruz diğer bazı rasgele bellek adresi. 576 00:25:14,310 --> 00:25:18,460 >> Yani biz bu ayarlamak için gidiyoruz ne olursa olsun eşit oldu. 577 00:25:18,460 --> 00:25:21,540 578 00:25:21,540 --> 00:25:25,880 Ve bu işaretçi gidiyor x değeri doğru işaret 579 00:25:25,880 --> 00:25:30,090 Ve sonra, biz değiştirirseniz Şeyin biz yıldız işaretçi yaparsak, 580 00:25:30,090 --> 00:25:32,800 Buna gidiyor Bizim işaretçi değeri. 581 00:25:32,800 --> 00:25:36,979 Bu durumda, bu parça olacak Bu x bu değere üzerinde ok 582 00:25:36,979 --> 00:25:38,395 ve 35 bunu değiştirmek için gidiyor. 583 00:25:38,395 --> 00:25:41,400 584 00:25:41,400 --> 00:25:44,760 Etkili, biz sadece değişti x dokunmadan x. 585 00:25:44,760 --> 00:25:48,970 Sadece referans işaretçileri sayesinde, biz gidip x değerini değiştirebilirsiniz. 586 00:25:48,970 --> 00:25:50,050 bu mantıklı mı? 587 00:25:50,050 --> 00:25:55,200 >> Yani bu şekilde biz aslında yeniden adlandırabilir ve rechange ve yeniden atamakta değerler 588 00:25:55,200 --> 00:25:57,750 we did not şeyler Aslında kendimizi yapmak. 589 00:25:57,750 --> 00:26:00,925 Bu herkese mantıklı mı? 590 00:26:00,925 --> 00:26:01,425 Güzel. 591 00:26:01,425 --> 00:26:04,450 592 00:26:04,450 --> 00:26:05,310 TAMAM. 593 00:26:05,310 --> 00:26:08,210 Burada çok karmaşık grafik. 594 00:26:08,210 --> 00:26:09,360 Satır satır gidin. 595 00:26:09,360 --> 00:26:12,055 Esasen, sadece tam yapmak Ben sadece yaptım aynı şeyi. 596 00:26:12,055 --> 00:26:15,977 597 00:26:15,977 --> 00:26:17,810 Ben taşınmadan önce, ben Gerçekten sadece yapmak istiyorum 598 00:26:17,810 --> 00:26:19,370 Herkesin bu konuda gerçekten açıktır. 599 00:26:19,370 --> 00:26:26,260 Buraya kadar Yani elimizdeki kodu int 3 eşittir b 4 eşittir, c 5 eşittir. 600 00:26:26,260 --> 00:26:33,130 Bu yüzden adında üç tamsayı yarattık a, b ve 3, 4 ve 5'e eşittir, c. 601 00:26:33,130 --> 00:26:38,460 Ve sonra biz üç işaretçiler yaratıyoruz Bu değişkenlerin her birine o nokta. 602 00:26:38,460 --> 00:26:41,760 >> Ve şimdi biz gidiyoruz esasen üzerinden gitmek 603 00:26:41,760 --> 00:26:44,240 Üzerlerinde çalıştırdığınız zaman ne olur. 604 00:26:44,240 --> 00:26:45,490 Yani onları çizin. 605 00:26:45,490 --> 00:26:48,156 I do not paper-- bir sayfa alın Siz tüm kağıtları varsa bilmek, 606 00:26:48,156 --> 00:26:50,930 ama o sizin belki Bilmeyenler yapmak sizin kim ödünç. 607 00:26:50,930 --> 00:26:53,580 Kağıt yaprak alın ve satır satır gidin. 608 00:26:53,580 --> 00:26:59,390 Ve bunu her operasyonda, Ben sizler aslında dışarı yazmak istiyorum 609 00:26:59,390 --> 00:27:00,800 Bu noktada, b ve c ne. 610 00:27:00,800 --> 00:27:03,550 Adresleri nelerdir ve ne a, b ve c işaret işaretçileri 611 00:27:03,550 --> 00:27:04,410 Bu noktada? 612 00:27:04,410 --> 00:27:07,150 >> Ve sonra umarım bu tür sizleri adım olacaktır 613 00:27:07,150 --> 00:27:08,900 işaretçileri düşünmek nasıl aracılığıyla. 614 00:27:08,900 --> 00:27:10,650 Biz gitmek için gidiyoruz değil bunların tümü boyunca uzanabilir. 615 00:27:10,650 --> 00:27:13,450 Belki de five-- vereceğim gibi üç dakika. 616 00:27:13,450 --> 00:27:14,660 Ilk birkaç on başlayın. 617 00:27:14,660 --> 00:28:10,410 618 00:28:10,410 --> 00:28:10,959 Ah. 619 00:28:10,959 --> 00:28:11,459 Üzgünüz. 620 00:28:11,459 --> 00:28:20,940 621 00:28:20,940 --> 00:28:26,950 >> HEDEF KİTLE: İkinci satırda, neden Yıldız [duyulamaz] değişken değildir? 622 00:28:26,950 --> 00:28:29,410 >> ANDI'nin PENG: in Ol operatörler, ilk haftasında, 623 00:28:29,410 --> 00:28:31,730 biz hakkında konuştuk artı eşittir yaparsanız, 624 00:28:31,730 --> 00:28:35,320 bu sadece bir artı c eşittir anlamına gelir. 625 00:28:35,320 --> 00:28:39,370 Bu case-- yüzden bu başka bir şeydir Yıldız kullanılabilir hangi yolu. 626 00:28:39,370 --> 00:28:42,040 Referans ek olarak ve işaretçiler ilan 627 00:28:42,040 --> 00:28:44,440 Ayrıca öyle hatırlıyorum çarpma anlamına gelir. 628 00:28:44,440 --> 00:28:46,575 Bu yüzden, bu durumda, sadece olur a kere c eşittir olacak. 629 00:28:46,575 --> 00:28:48,450 Bu sadece farklı değil yazılı yolu. 630 00:28:48,450 --> 00:28:49,776 >> HEDEF KİTLE: a kere c eşittir. 631 00:28:49,776 --> 00:28:50,442 ANDI PENG: Evet. 632 00:28:50,442 --> 00:30:43,488 633 00:30:43,488 --> 00:30:47,130 >> HEDEF KİTLE: Bu eğer ne anlama geliyor bir işareti mektup diyor? 634 00:30:47,130 --> 00:30:50,900 >> ANDI PENG: Ampersand araçları Eğer sen ki- gidiyoruz 635 00:30:50,900 --> 00:30:54,760 göstericidir yere gidiş işaret ve adresi çekerek. 636 00:30:54,760 --> 00:31:01,270 Yani işareti Size adresi verir, yıldız var size gerçek değerini verir. 637 00:31:01,270 --> 00:31:03,090 >> HEDEF KİTLE: Biz Are satır satır üzerine bina? 638 00:31:03,090 --> 00:31:04,881 >> ANDI PENG: Sen satır satır üzerine bina. 639 00:31:04,881 --> 00:31:07,260 Dolayısıyla, sadece az bir satır gitmek Bir zaman ve sonra-- seni 640 00:31:07,260 --> 00:31:08,470 hakkında endişelenmenize gerek yok Her şeyi bitirme. 641 00:31:08,470 --> 00:31:10,428 En yoluyla almak için çalışalım belki iki, üç satır 642 00:31:10,428 --> 00:31:12,445 ve sonra biz toplanır ve bu bitiririz. 643 00:31:12,445 --> 00:31:15,530 644 00:31:15,530 --> 00:31:17,470 >> Siz kaybolur eğer tamamen Tamam. 645 00:31:17,470 --> 00:31:19,334 Bu gerçekten zor bir kavramdır. 646 00:31:19,334 --> 00:31:22,500 Sizler sınıfta endişeli iseniz David dediğim gibi böyle gider, 647 00:31:22,500 --> 00:31:23,190 öyle değil. 648 00:31:23,190 --> 00:31:25,949 Biz ulaşıyoruz Zorluk kavramsal zirve 649 00:31:25,949 --> 00:31:27,740 ve sonra gidiyor aşağı doğru eğimli olacak. 650 00:31:27,740 --> 00:31:29,110 Yani siz neredeyse vardır. 651 00:31:29,110 --> 00:31:31,080 Biz şeker bir sürü almak zorunda kamburu ile çocuklar. 652 00:31:31,080 --> 00:31:32,940 Ben yıkılmasından sonra hemen hemen düşünüyorum Biz iyiye olacak kırmak 653 00:31:32,940 --> 00:31:34,220 ve hayat tekrar iyi olacak. 654 00:31:34,220 --> 00:31:36,580 Hiç yüzden hiçbir endişe. 655 00:31:36,580 --> 00:32:30,732 656 00:32:30,732 --> 00:32:31,232 Pekala. 657 00:32:31,232 --> 00:32:33,650 Ben adamlar sana 20 veririm saniye daha fazla tamamlamayı. 658 00:32:33,650 --> 00:33:12,560 659 00:33:12,560 --> 00:33:13,330 TAMAM. 660 00:33:13,330 --> 00:33:13,830 Pekala. 661 00:33:13,830 --> 00:33:16,370 Şimdi bu bir bıçak atalım. 662 00:33:16,370 --> 00:33:19,430 Siz gibi, bana cevap vermek Ben sadece bunları yazmak için gidiyorum. 663 00:33:19,430 --> 00:33:22,140 Ve umarım biz-- I can? 664 00:33:22,140 --> 00:33:23,317 Ben aslında bunu yazamazsınız. 665 00:33:23,317 --> 00:33:24,400 Ben gemide çizmek gerekir. 666 00:33:24,400 --> 00:33:31,420 667 00:33:31,420 --> 00:33:35,900 >> Yani burada bu ilk satırında Biz b yıldız c eşittir var. 668 00:33:35,900 --> 00:33:38,060 Ayrıca Elliot kadar getirdi Gerçekten, gerçekten iyi bir nokta. 669 00:33:38,060 --> 00:33:42,500 Ben ek olarak bu unuttum çünkü iki yolu biz yıldız sembolünü kullanabilirsiniz, 670 00:33:42,500 --> 00:33:43,750 Üçüncü yol, aslında var. 671 00:33:43,750 --> 00:33:44,990 Çarpma. 672 00:33:44,990 --> 00:33:51,380 Ve böylece sırf karışık alamadım Bu bir yıldız kullanarak ilk yoludur. 673 00:33:51,380 --> 00:33:54,470 Sadece bilgisayar söylüyor Ben bir işaretçi oluşturmak için yaklaşık olduğumu. 674 00:33:54,470 --> 00:34:00,600 >> Yaparak ikinci yolu işaretçinizin yıldız, 675 00:34:00,600 --> 00:34:04,320 İstediğin işaretçi söyler Bu işaretçi de verilere erişmek için. 676 00:34:04,320 --> 00:34:06,710 Sonra, tabii ki, orada sadece basit çarpma 677 00:34:06,710 --> 00:34:09,564 İki sayı arasındaki söyleyen Ben iki çarpmak istiyorum. 678 00:34:09,564 --> 00:34:11,730 Yani pek çok yolu var Biz yıldız sembolünü kullanabilirsiniz. 679 00:34:11,730 --> 00:34:13,830 Karışık alamadım. 680 00:34:13,830 --> 00:34:16,991 Sadece siz anladığınızdan emin olun tam olarak ne üçü 681 00:34:16,991 --> 00:34:18,630 yapıyoruz. 682 00:34:18,630 --> 00:34:22,920 >> Bu ilk satırda Yani a b c süreleri eşittir. 683 00:34:22,920 --> 00:34:26,850 Öyleyse üzerinden gidelim neler a, c nedir, b nedir nedir? 684 00:34:26,850 --> 00:34:32,600 Ve bir gösterici, ne b gösterici ve c işaretçi? 685 00:34:32,600 --> 00:34:34,050 Eşit olanlar hepsi nelerdir? 686 00:34:34,050 --> 00:34:34,600 TAMAM. 687 00:34:34,600 --> 00:34:38,650 >> Bir 3 eşittir Yani biz başlamak, b 4 eşittir ve c sağ, 5 eşittir? 688 00:34:38,650 --> 00:34:42,230 Can, ilk satırdan sonra Yani Biri ne olduğunu söyle? 689 00:34:42,230 --> 00:34:42,730 Evet. 690 00:34:42,730 --> 00:34:44,229 Sadece cevapları haykırmak için çekinmeyin. 691 00:34:44,229 --> 00:34:44,929 20. 692 00:34:44,929 --> 00:34:45,550 İyi. 693 00:34:45,550 --> 00:34:46,410 B nedir? 694 00:34:46,410 --> 00:34:47,777 >> İZLEYİCİ: 4. 695 00:34:47,777 --> 00:34:48,610 ANDI PENG: c nedir? 696 00:34:48,610 --> 00:34:49,659 İZLEYİCİ: 5. 697 00:34:49,659 --> 00:34:50,770 ANDI PENG: Yay. 698 00:34:50,770 --> 00:34:51,639 İyi. 699 00:34:51,639 --> 00:34:55,707 Pa, pb ve pc nelerdir? 700 00:34:55,707 --> 00:34:58,564 >> HEDEF KİTLE: 000001 ve 002? 701 00:34:58,564 --> 00:34:59,230 ANDI PENG: Evet. 702 00:34:59,230 --> 00:35:02,390 Bir hile soru Yani tür ama gerçekten burada çünkü 703 00:35:02,390 --> 00:35:04,760 Gerçek anıları dışarı çekti. 704 00:35:04,760 --> 00:35:08,520 Fakat, çünkü örneğin biz değiliz aslında bu sayılar ne olduğunu biliyorum, 705 00:35:08,520 --> 00:35:10,326 biz sadece işareti söyleyebiliriz. 706 00:35:10,326 --> 00:35:12,200 Ben bile bilmiyorum ben bir ve işareti çizebilirsiniz. 707 00:35:12,200 --> 00:35:18,022 Bu da-- var bunu nasıl yapıyorsun? 708 00:35:18,022 --> 00:35:19,790 >> HEDEF KİTLE: Bir sekiz çizim gibi. 709 00:35:19,790 --> 00:35:20,870 >> ANDI PENG: Bir sekiz gibi. 710 00:35:20,870 --> 00:35:21,580 Bunun gibi. 711 00:35:21,580 --> 00:35:22,080 TAMAM. 712 00:35:22,080 --> 00:35:23,446 HEDEF KİTLE: Bingo. 713 00:35:23,446 --> 00:35:25,350 >> ANDI PENG: it Killing. 714 00:35:25,350 --> 00:35:28,202 Yani bir ve imi, sadece bunu yapabilirsiniz. 715 00:35:28,202 --> 00:35:30,410 Biz aslında çünkü bakım şey bu değeri 716 00:35:30,410 --> 00:35:32,880 ve bazı uzunluğunda eşek değeri neyse, 717 00:35:32,880 --> 00:35:35,220 biz sadece giong kullanıyorsanız işareti a söyleyecek. 718 00:35:35,220 --> 00:35:37,024 Sonra pb ne? 719 00:35:37,024 --> 00:35:37,940 HEDEF KİTLE: [duyulamaz]. 720 00:35:37,940 --> 00:35:38,606 ANDI PENG: Evet. 721 00:35:38,606 --> 00:35:42,490 722 00:35:42,490 --> 00:35:43,500 Güzel. 723 00:35:43,500 --> 00:35:44,010 Pekala. 724 00:35:44,010 --> 00:35:44,770 Kolay ilk satırı. 725 00:35:44,770 --> 00:35:45,270 Biz bu var. 726 00:35:45,270 --> 00:35:46,330 İşaretçiler kolaydır. 727 00:35:46,330 --> 00:35:47,450 Tamam. 728 00:35:47,450 --> 00:35:48,740 >> İkinci çizgi. 729 00:35:48,740 --> 00:35:52,400 Ve böylece yıldızı eşittir aynıdır Bir söyleyerek şey kez c eşittir. 730 00:35:52,400 --> 00:35:54,730 Bu yazı sadece kolay bir yolu var. 731 00:35:54,730 --> 00:35:57,170 Yani biz yapmaya çalışmıyoruz Bir nokta ya da burada herhangi bir şey. 732 00:35:57,170 --> 00:36:00,600 Yani ilk satır ile yapılır. 733 00:36:00,600 --> 00:36:05,144 İkinci satırda nedir sonra bir bir kere c eşittir do? 734 00:36:05,144 --> 00:36:05,777 >> HEDEF KİTLE: 100? 735 00:36:05,777 --> 00:36:06,610 ANDI PENG: 100 var. 736 00:36:06,610 --> 00:36:07,795 İyi. 737 00:36:07,795 --> 00:36:08,864 Nasıl b hakkında? 738 00:36:08,864 --> 00:36:10,256 >> HEDEF KİTLE: [duyulamaz]. 739 00:36:10,256 --> 00:36:11,335 >> ANDI PENG: Nasıl c dersiniz? 740 00:36:11,335 --> 00:36:12,490 >> HEDEF KİTLE: [duyulamaz]. 741 00:36:12,490 --> 00:36:14,530 >> ANDI PENG: Ve nasıl işaretçiler dersiniz? 742 00:36:14,530 --> 00:36:15,800 Doğru, aynı onlar-- mısınız? 743 00:36:15,800 --> 00:36:20,640 744 00:36:20,640 --> 00:36:21,940 TAMAM. 745 00:36:21,940 --> 00:36:23,820 Şimdi üçüncü satır. 746 00:36:23,820 --> 00:36:26,400 747 00:36:26,400 --> 00:36:27,350 Biraz yanıltıcıdır. 748 00:36:27,350 --> 00:36:29,760 b yıldızı pa eşittir. 749 00:36:29,760 --> 00:36:34,189 Birisi ilk bana söyleyebilir, Ne yıldız pa eşit mi? 750 00:36:34,189 --> 00:36:36,159 >> HEDEF KİTLE: Bu değer bir de depolanır. 751 00:36:36,159 --> 00:36:36,950 ANDI PENG: Kesinlikle. 752 00:36:36,950 --> 00:36:38,070 Ve değeri nedir bir de depolanır? 753 00:36:38,070 --> 00:36:38,860 >> İZLEYİCİ: 100. 754 00:36:38,860 --> 00:36:39,660 >> ANDI PENG: Tamam. 755 00:36:39,660 --> 00:36:43,462 Yani sonra ne olurdu kod bu hat yürütme? 756 00:36:43,462 --> 00:36:44,760 >> HEDEF KİTLE: [duyulamaz]. 757 00:36:44,760 --> 00:36:45,870 >> ANDI PENG: b ne olacak? 758 00:36:45,870 --> 00:36:46,780 >> İZLEYİCİ: 100. 759 00:36:46,780 --> 00:36:47,620 >> ANDI PENG: Evet. 760 00:36:47,620 --> 00:36:49,995 Ve sonra her şey olduğu hemen hemen değişmeden, değil mi? 761 00:36:49,995 --> 00:36:51,239 Biz bunu dokunmadı çünkü. 762 00:36:51,239 --> 00:36:55,370 763 00:36:55,370 --> 00:36:57,010 Güzel. 764 00:36:57,010 --> 00:36:58,390 Dördüncü hat. 765 00:36:58,390 --> 00:37:00,390 Biraz daha karmaşık. 766 00:37:00,390 --> 00:37:06,910 Yani pc-- bir kez daha, pc göstericisidir O pa eşittir C- işaret etti. 767 00:37:06,910 --> 00:37:11,520 768 00:37:11,520 --> 00:37:12,360 Bir Nedir? 769 00:37:12,360 --> 00:37:14,525 >> İZLEYİCİ: 100. 770 00:37:14,525 --> 00:37:15,400 ANDI PENG: b nedir? 771 00:37:15,400 --> 00:37:17,920 İZLEYİCİ: 100. 772 00:37:17,920 --> 00:37:18,862 ANDI PENG: c nedir? 773 00:37:18,862 --> 00:37:19,993 İZLEYİCİ: 5. 774 00:37:19,993 --> 00:37:20,867 ANDI PENG: pa nedir? 775 00:37:20,867 --> 00:37:22,775 HEDEF KİTLE: Bir ve işareti. 776 00:37:22,775 --> 00:37:23,730 ANDI PENG: pb? 777 00:37:23,730 --> 00:37:26,010 HEDEF KİTLE: Ampersand, b. 778 00:37:26,010 --> 00:37:27,730 ANDI PENG: Ve zor, pc şimdi nedir? 779 00:37:27,730 --> 00:37:28,410 HEDEF KİTLE: Bir ve işareti. 780 00:37:28,410 --> 00:37:29,034 ANDI PENG: Yay. 781 00:37:29,034 --> 00:37:31,790 Woo hoo. 782 00:37:31,790 --> 00:37:32,500 Siz gördünüz mü? 783 00:37:32,500 --> 00:37:33,282 Bu, tüm haklı. 784 00:37:33,282 --> 00:37:33,990 Çok kötü değil. 785 00:37:33,990 --> 00:37:38,730 Hepsi değilse biz daha şeker var Doğru, ama hepsi doğru olduğunu düşünüyorum. 786 00:37:38,730 --> 00:37:41,900 Ve biz sadece bir gitmek için gidiyoruz biz zor olanları vurmak önce daha fazla. 787 00:37:41,900 --> 00:37:43,710 Cevaplar Buraya var. 788 00:37:43,710 --> 00:37:47,050 >> Esasen, bu olduğunu biliyorum Sadece bu noktada matematik gibi. 789 00:37:47,050 --> 00:37:53,240 Eğer gibi basit denklemler varsa artı b, bir kere c yapmak kolaydır. 790 00:37:53,240 --> 00:37:56,390 Ve üzerine genişleyen başladığınızda o, sadece işlemlerin sırasını gidin. 791 00:37:56,390 --> 00:37:57,830 Önce aynı şey. 792 00:37:57,830 --> 00:38:00,030 >> Takip ve eğer tutun senin Yıldız şey öncedir. 793 00:38:00,030 --> 00:38:01,640 Bu size değer söyler. 794 00:38:01,640 --> 00:38:04,640 Eğer bir ve daha önce varsa bir şey, size adresini söyler. 795 00:38:04,640 --> 00:38:07,860 Ve atamak gerekir ya işaretçileri veya bu değer. 796 00:38:07,860 --> 00:38:11,260 Yani bu aşkın gidelim Sonuncusu çabucak. 797 00:38:11,260 --> 00:38:12,520 Değil bu sonuncusu, üzgünüm. 798 00:38:12,520 --> 00:38:13,340 Aslında, siz seçebilirsiniz. 799 00:38:13,340 --> 00:38:16,006 Hangisi siz gitmek istiyorsun Üç kalan out üzerinde 800 00:38:16,006 --> 00:38:17,449 Sahip olduğumuz? 801 00:38:17,449 --> 00:38:20,490 Ben sadece bunu yapabileceğimi sanmıyorum Biz sadece hat atlamak olamaz çünkü. 802 00:38:20,490 --> 00:38:21,000 TAMAM. 803 00:38:21,000 --> 00:38:25,700 Sizler, bir seçeneğimiz yok bir son sadece üçte biri. 804 00:38:25,700 --> 00:38:29,228 >> Yıldız pc b kez c eşittir. 805 00:38:29,228 --> 00:38:30,144 >> HEDEF KİTLE: Yıldız pb? 806 00:38:30,144 --> 00:38:32,117 >> HEDEF KİTLE: Yıldız pb. 807 00:38:32,117 --> 00:38:32,825 ANDI PENG: Üzgünüm? 808 00:38:32,825 --> 00:38:33,599 HEDEF KİTLE: Yıldız pb. 809 00:38:33,599 --> 00:38:34,390 ANDI PENG: Yıldız pb. 810 00:38:34,390 --> 00:38:35,100 Ah, benim hatam. 811 00:38:35,100 --> 00:38:38,647 Yıldız pb b kez c eşittir. 812 00:38:38,647 --> 00:38:40,230 Ben adamlar sana 10 saniye vereceğim. 813 00:38:40,230 --> 00:38:41,140 Sadece çabuk düşünüyorum. 814 00:38:41,140 --> 00:38:43,450 Bu biz çok olması uzak ne biz sonra ne olur 815 00:38:43,450 --> 00:38:46,770 Oradaki beşinci satırı çalıştırmak? 816 00:38:46,770 --> 00:38:54,030 817 00:38:54,030 --> 00:38:55,980 TAMAM. 818 00:38:55,980 --> 00:38:58,720 Bir Nedir? 819 00:38:58,720 --> 00:38:59,560 >> İZLEYİCİ: 100. 820 00:38:59,560 --> 00:39:02,470 >> ANDI'nin PENG: 100. 821 00:39:02,470 --> 00:39:03,610 B şimdi ne? 822 00:39:03,610 --> 00:39:04,330 >> HEDEF KİTLE: 500. 823 00:39:04,330 --> 00:39:05,250 >> ANDI PENG: İyi. 824 00:39:05,250 --> 00:39:08,570 Biri açıklamak isteyen var mı Bana 500 bu yüzden? 825 00:39:08,570 --> 00:39:10,540 Ben biz do not feel like aslında hiç b dokundu. 826 00:39:10,540 --> 00:39:13,950 Nasıl değiştirmeye başardınız b dokunmadan b değeri var mı? 827 00:39:13,950 --> 00:39:15,090 Evet? 828 00:39:15,090 --> 00:39:18,239 >> HEDEF KİTLE: Çünkü yıldız pb pb-- de değer anlamına gelir 829 00:39:18,239 --> 00:39:19,030 ANDI PENG: Kesinlikle. 830 00:39:19,030 --> 00:39:19,790 HEDEF KİTLE: --which b. 831 00:39:19,790 --> 00:39:20,581 ANDI PENG: Kesinlikle. 832 00:39:20,581 --> 00:39:26,880 Yani burada bizim şemada, bizim işaretçi pb aslında bu hakkın işaret 833 00:39:26,880 --> 00:39:28,690 Burada, burada gerçek fiziksel b. 834 00:39:28,690 --> 00:39:31,340 Ve böylece gidip eğer Eğer yıldız pb yapmak, işte 835 00:39:31,340 --> 00:39:36,080 işaretçinizin senin ok takip ve fiziksel olarak b değerini değiştirerek. 836 00:39:36,080 --> 00:39:39,532 Yani biz değişti oda neden var Aslında b dokunmadan 500. 837 00:39:39,532 --> 00:39:42,490 Ve sonra her şey kalır biz dokunmadı çünkü aynı. 838 00:39:42,490 --> 00:39:47,060 839 00:39:47,060 --> 00:39:48,530 O b öyle. 840 00:39:48,530 --> 00:39:49,420 Güzel. 841 00:39:49,420 --> 00:39:50,485 Ve daha sonra-- 842 00:39:50,485 --> 00:39:51,910 >> İZLEYİCİ: Ben sadece bir sorum var. 843 00:39:51,910 --> 00:39:52,730 >> ANDI PENG: Evet? 844 00:39:52,730 --> 00:39:56,000 >> HEDEF KİTLE: beri we've-- işareti c artık yok, 845 00:39:56,000 --> 00:39:59,620 O işareti a demek Şimdi aynı şey yönlendirme? 846 00:39:59,620 --> 00:40:00,520 >> ANDI PENG: Evet. 847 00:40:00,520 --> 00:40:01,582 Yani-- 848 00:40:01,582 --> 00:40:03,540 HEDEF KİTLE: Yani ok tür sadece ve- hamle 849 00:40:03,540 --> 00:40:04,030 ANDI'nin PENG: Böylece essentially-- 850 00:40:04,030 --> 00:40:05,405 İZLEYİCİ: Biz access-- olamaz --now 851 00:40:05,405 --> 00:40:08,387 ANDI PENG: --when biz I kalpazanın on-- dereference c. 852 00:40:08,387 --> 00:40:08,970 Neydi o? 853 00:40:08,970 --> 00:40:09,560 Üçüncü satır? 854 00:40:09,560 --> 00:40:10,060 Dördüncü. 855 00:40:10,060 --> 00:40:11,490 Dördüncü hat. 856 00:40:11,490 --> 00:40:14,910 Yaptığımız Tüm esasen oldu Bu ok değiştirmek 857 00:40:14,910 --> 00:40:16,680 ve bir yerine doğru işaret var. 858 00:40:16,680 --> 00:40:19,480 >> HEDEF KİTLE: Yani biz artık c erişemiyor. 859 00:40:19,480 --> 00:40:22,520 >> ANDI PENG: Bu olsaydı kesin sayı, bunu erişebilir. 860 00:40:22,520 --> 00:40:23,260 Ama hayır. 861 00:40:23,260 --> 00:40:25,680 Biz bir işaretçi yok Artık c bakacak. 862 00:40:25,680 --> 00:40:27,430 Eğer isteseydim sanırım size bunu yeniden erişim 863 00:40:27,430 --> 00:40:30,390 Başka yaratacak c-işaret yeniden işaretçi 864 00:40:30,390 --> 00:40:32,856 veya bu yönlendiricide başvuru yapıldı ve geri çekti. 865 00:40:32,856 --> 00:40:35,730 Yani, hayır, olduğu gibi şu anda, üç işaretçileri, bunların hiçbiri c etmektedir. 866 00:40:35,730 --> 00:40:38,800 867 00:40:38,800 --> 00:40:40,110 >> Herkes iyi? 868 00:40:40,110 --> 00:40:41,440 Cevaplar çevrimiçi. 869 00:40:41,440 --> 00:40:45,210 Bölüm sonra, üzerine gitmek çekinmeyin Son iki test kendinizi. 870 00:40:45,210 --> 00:40:47,840 Aynı kavramlar, sadece biraz yanıltıcıdır. 871 00:40:47,840 --> 00:40:51,860 Sadece mantığıyla üzerinden takip neden şeyler farklı şeylerdir. 872 00:40:51,860 --> 00:40:54,530 Ve ipucu, işaretçiler Sevdiğimiz bir konu 873 00:40:54,530 --> 00:40:58,780 Onlar çünkü sınavlar hakkında kapsayacak şekilde kavramsal çok zor. 874 00:40:58,780 --> 00:41:01,360 Bu yüzden sana öneririm adamlar bu grafiği gözden 875 00:41:01,360 --> 00:41:05,916 veya benzer kavramlar için yırtmaç Bu sınav öncesinde önümüzdeki hafta. 876 00:41:05,916 --> 00:41:06,864 >> HEDEF KİTLE: Afedersin. 877 00:41:06,864 --> 00:41:07,530 >> ANDI PENG: Evet? 878 00:41:07,530 --> 00:41:09,708 HEDEF KİTLE: [duyulamaz] Nihai Şehre [duyulamaz]. 879 00:41:09,708 --> 00:41:12,710 880 00:41:12,710 --> 00:41:15,770 >> ANDI PENG: 50,000? 881 00:41:15,770 --> 00:41:17,850 Ben aşağı geri takip etmek gerekir. 882 00:41:17,850 --> 00:41:22,530 Ama çizgiyi düşünüyorum somewhere-- daha önce, dev c değeri yarattı. 883 00:41:22,530 --> 00:41:26,250 c bu dev şeyi eşittir hangi 100 kez 500. 884 00:41:26,250 --> 00:41:27,006 Hayır. 885 00:41:27,006 --> 00:41:28,000 >> HEDEF KİTLE: [duyulamaz]. 886 00:41:28,000 --> 00:41:28,625 >> ANDI PENG: Evet. 887 00:41:28,625 --> 00:41:30,620 10.000 100 kez 100. 888 00:41:30,620 --> 00:41:32,020 Hangi 10.000 olduğunu. 889 00:41:32,020 --> 00:41:35,410 Yani geri aşağı orada sen b ve c çarparak. 890 00:41:35,410 --> 00:41:43,165 B-- işaret işaretçi Yani 500-- kez değeri, bir bir-- 891 00:41:43,165 --> 00:41:44,480 >> HEDEF KİTLE: [duyulamaz]. 892 00:41:44,480 --> 00:41:45,730 ANDI PENG: Belki yanlış. 893 00:41:45,730 --> 00:41:49,514 HEDEF KİTLE: Hayır, hayır, öyle değil. [Duyulamaz] c ibre artık bir- işaret olduğunu 894 00:41:49,514 --> 00:41:50,180 ANDI PENG: Evet. 895 00:41:50,180 --> 00:41:50,840 O haklı. 896 00:41:50,840 --> 00:41:56,477 >> HEDEF KİTLE: --O bir eşittir de onun en bulunuyor Bir times-- o c değerdir. 897 00:41:56,477 --> 00:41:59,560 ANDI PENG: Biraz diyebilir miyiz biraz daha yüksek sesle, böylece herkes sizi duyabiliyor musun? 898 00:41:59,560 --> 00:42:04,879 HEDEF KİTLE: c Yani işaretçi şimdi işaret a işaretçi işaret için kullanılan ne 899 00:42:04,879 --> 00:42:09,460 aşağıdaki amaçlara hala does-- ama işaret Doğru, bir olan aynı şey? 900 00:42:09,460 --> 00:42:12,925 Değeri Ancak o yeni tanımlanan oldu. 901 00:42:12,925 --> 00:42:17,875 Ve bunun başında sen Önceden 100 kat olduğunu söyleyerek 902 00:42:17,875 --> 00:42:21,340 500 b değer. 903 00:42:21,340 --> 00:42:24,305 Ve böylece ne kadar olduğunu var. 904 00:42:24,305 --> 00:42:24,805 50,000. 905 00:42:24,805 --> 00:42:32,860 Onlar bu yeniden atama şeyin c hafıza alanı c işaretçi bu-- 906 00:42:32,860 --> 00:42:34,510 Bir olduğu işaret ediyor. 907 00:42:34,510 --> 00:42:38,460 Yani 50.000 olmak için yeniden tanımlayan ediyoruz. 908 00:42:38,460 --> 00:42:40,210 ANDI PENG: O olabilir Benim için bölüm öğretmek. 909 00:42:40,210 --> 00:42:41,260 Bir dahaki sefere hepsi senin. 910 00:42:41,260 --> 00:42:41,440 İşte. 911 00:42:41,440 --> 00:42:42,564 İşte bunun için daha fazla şeker var. 912 00:42:42,564 --> 00:42:45,790 Bunun için şeker hak ediyor. 913 00:42:45,790 --> 00:42:47,260 >> İZLEYİCİ: Neredeyse o yakalandı. 914 00:42:47,260 --> 00:42:47,660 >> ANDI PENG: Neredeyse o yakalandı. 915 00:42:47,660 --> 00:42:48,450 Her şey yolunda. 916 00:42:48,450 --> 00:42:48,950 Evet. 917 00:42:48,950 --> 00:42:50,033 Ama tam olarak doğru idi. 918 00:42:50,033 --> 00:42:54,469 Yani yapman gerekeni Ben biz düşünüyorum ki- olduğunu 919 00:42:54,469 --> 00:42:56,510 gerçeği takip etmek zorunda işaretçileri şimdi ki 920 00:42:56,510 --> 00:42:57,880 farklı değerlere işaret. 921 00:42:57,880 --> 00:43:01,785 Yani value-- üzgünüm, c işaretçi için repointed. 922 00:43:01,785 --> 00:43:04,390 Ve böylece bizim sayıların tüm kaymıştır söyledi. 923 00:43:04,390 --> 00:43:08,930 Erişmek Ve o, bu yüzden değeri farklı, orada saklanır. 924 00:43:08,930 --> 00:43:10,490 bu mantıklı mı? 925 00:43:10,490 --> 00:43:11,380 TAMAM. 926 00:43:11,380 --> 00:43:12,820 Güzel. 927 00:43:12,820 --> 00:43:16,635 İyi Herkes, ben geçmeden önce? 928 00:43:16,635 --> 00:43:25,332 >> HEDEF KİTLE: Gittiğin zaman Şeyin mu Sol sütundaki satır aşağı 929 00:43:25,332 --> 00:43:30,494 ilk satır, ikinci satır etkiler ve daha sonra gibi, Bay Kane saniyedir-- var: 930 00:43:30,494 --> 00:43:31,160 ANDI PENG: Evet. 931 00:43:31,160 --> 00:43:37,610 Bu yüzden ben sadece yazdığınız kodu hayal a b c kez eşittir içinde, bir yıldız c eşittir. 932 00:43:37,610 --> 00:43:40,290 Sadece ben var olduğunu hayal Sadece bu kodu koştum 933 00:43:40,290 --> 00:43:42,710 ve ben çıktısını vermedi neler Bunların hepsi oldu. 934 00:43:42,710 --> 00:43:46,200 Ben olsaydım, sadece ilk yazdırmak için üstündeki şey, burada olurdu. 935 00:43:46,200 --> 00:43:48,510 Ben tüm koştum sonra ise kod bu satırları, 936 00:43:48,510 --> 00:43:51,160 Ne bu değerler olmalıdır sonunda olmak vardır. 937 00:43:51,160 --> 00:43:53,290 >> Yani aslında burada bir program yazdık. 938 00:43:53,290 --> 00:43:55,840 Ben tüm yapmadım çarpma. 939 00:43:55,840 --> 00:43:58,310 Ama sadece hayal. 940 00:43:58,310 --> 00:44:00,370 Yani burada sadece var Program işaretçileri aradı. 941 00:44:00,370 --> 00:44:04,190 Ben Tamam guys-- eğer yakınlaştırmak için gidiyorum. 942 00:44:04,190 --> 00:44:07,580 Yani değişkenleri a, b ve c oluşturduk. 943 00:44:07,580 --> 00:44:09,640 Ben onları eşit kurdum 3, 4 ve 5 ve ettik 944 00:44:09,640 --> 00:44:11,770 karşılık gelen işaretçi hazırlandı. 945 00:44:11,770 --> 00:44:14,550 Ve sonra burada ben sadece gidiyorum Bunun ne olduğunu yazdırmak için. 946 00:44:14,550 --> 00:44:15,833 Bu yüzden bana bu çalıştırın. 947 00:44:15,833 --> 00:44:21,520 948 00:44:21,520 --> 00:44:24,750 >> Size adamların see-- bok yapın. 949 00:44:24,750 --> 00:44:28,150 Siz nasıl görüyor musunuz, b ve c bu değerleri 950 00:44:28,150 --> 00:44:33,530 ama onların işaretçileri bu dev vardır biz umurumda değil o çöp değeri var mı? 951 00:44:33,530 --> 00:44:36,690 Yani aslında fiş olsaydı Bütün çoğalması 952 00:44:36,690 --> 00:44:39,770 ve daha sonra, tüm yeniden yazdırmak Bu, o dışarı yürütülür 953 00:44:39,770 --> 00:44:44,509 Bu alt kısmında ne. 954 00:44:44,509 --> 00:44:47,300 Siz oynamak istiyorsanız Yani aslında fiziksel kodlama ile, 955 00:44:47,300 --> 00:44:49,000 siz sadece bu bütün takabilirsiniz. 956 00:44:49,000 --> 00:44:52,860 Kod Online ve sonra sizin yanınızdaki olacak değerler sonradan buna basılması gerekir. 957 00:44:52,860 --> 00:44:56,170 >> Ve sonra nasıl işaretçi göreceksiniz adresler aslında yeniden oylandı. 958 00:44:56,170 --> 00:44:59,190 Peki nasıl göreceksiniz c adresi aslında olur 959 00:44:59,190 --> 00:45:00,920 Bir adresi ne olursa olsun eşit. 960 00:45:00,920 --> 00:45:04,140 Ve onlar maç olacak ne olursa olsun Bu büyük bir sayıdır. 961 00:45:04,140 --> 00:45:06,530 İyi soru. 962 00:45:06,530 --> 00:45:07,550 Herkes iyi mi? 963 00:45:07,550 --> 00:45:10,300 Sorularınız için son bir çağrı. 964 00:45:10,300 --> 00:45:11,590 TAMAM. 965 00:45:11,590 --> 00:45:12,090 Pekala. 966 00:45:12,090 --> 00:45:15,940 Yani aklını sahip hazırlamak şişmiş biraz daha ısırdı. 967 00:45:15,940 --> 00:45:18,000 Diziler aslında sadece noktalar şunlardır. 968 00:45:18,000 --> 00:45:19,010 Yani hepsi burada. 969 00:45:19,010 --> 00:45:20,410 Ve dizeleri nelerdir, hatırladın mı? 970 00:45:20,410 --> 00:45:21,630 Onlar da diziler konum. 971 00:45:21,630 --> 00:45:23,110 Peki dizeleri aslında nelerdir? 972 00:45:23,110 --> 00:45:27,100 Onlar işaretçiler gibisin Daha fazla karakter bir char başında. 973 00:45:27,100 --> 00:45:29,970 >> Yani başlangıç ​​sadece kavramları var birbirinin üstüne inşa etmek. 974 00:45:29,970 --> 00:45:32,030 Yani neden-- sensin derste hatırlıyorum, David, 975 00:45:32,030 --> 00:45:34,990 O karşılaştırma vardı int dize anne 976 00:45:34,990 --> 00:45:37,640 sonra bir şey ve bir Başka bir dize anne ve 977 00:45:37,640 --> 00:45:41,240 birbirlerine iki eşit çalışın, onlar size farklı değerler verir. 978 00:45:41,240 --> 00:45:44,370 It dizeleri nedeniyle kendileri değerler değildir. 979 00:45:44,370 --> 00:45:48,860 Onlar tüm bellek adresleri vardır char-- Onlar karakter ve dizilerin diziler 980 00:45:48,860 --> 00:45:50,050 Sadece değineği vardır. 981 00:45:50,050 --> 00:45:54,022 >> Böylece, esas olarak, ne zaman David comparing-- oldu 982 00:45:54,022 --> 00:45:55,355 Ben tüm bu silmek Tamam olur? 983 00:45:55,355 --> 00:46:02,320 984 00:46:02,320 --> 00:46:09,750 Yani David derste zaman vardı anne, anne eşittir 985 00:46:09,750 --> 00:46:11,630 Bize aynı şey gibi görünüyor. 986 00:46:11,630 --> 00:46:12,317 Sağ? 987 00:46:12,317 --> 00:46:15,150 Ama, altında bilgisayar davlumbaz, aslında ne oluyor 988 00:46:15,150 --> 00:46:18,380 bu dizedir Tüm bu olan bir dizidir. 989 00:46:18,380 --> 00:46:21,420 990 00:46:21,420 --> 00:46:25,390 Bir ampersand-- veya, üzgünüm, sonunda boş terminatör ile. 991 00:46:25,390 --> 00:46:28,311 992 00:46:28,311 --> 00:46:28,810 Sağ? 993 00:46:28,810 --> 00:46:29,940 Backslash 0. 994 00:46:29,940 --> 00:46:32,900 Yanlış ters eğik çizgi. 995 00:46:32,900 --> 00:46:35,960 >> Böylece tüm hepsi were-- Bu iki şeritler were-- 996 00:46:35,960 --> 00:46:40,360 boyut ayak dizi ile vardır anne ve anne mektupları. 997 00:46:40,360 --> 00:46:44,780 Ama ne diziler gerçekten sadece vardır bellekte belirli bir yere işaretçileri 998 00:46:44,780 --> 00:46:47,140 Bu sizin diziyi başlatmak için söyler. 999 00:46:47,140 --> 00:46:52,370 Yani bu durumda, bütün bu oldu sadece bazı çöp değeri oldu 1000 00:46:52,370 --> 00:46:54,230 bazı rasgele işaretçi. 1001 00:46:54,230 --> 00:46:56,330 Ve tüm bu oldu diğer bazı çöp değer. 1002 00:46:56,330 --> 00:46:59,830 Sadece 0x200 diyelim. 1003 00:46:59,830 --> 00:47:02,410 >> Ve böylece eşit çalıştığınızda Onları birbirine iki, 1004 00:47:02,410 --> 00:47:06,130 Onlar yüzünden yanlış olarak değerlendirmek işaretçiler addresses-- 1005 00:47:06,130 --> 00:47:08,390 bunlar were-- farklı idi. 1006 00:47:08,390 --> 00:47:11,400 Sen eğer farklı Oysa Gerçek tamsayılar karşılaştırmak için çalışıyor. 1007 00:47:11,400 --> 00:47:15,820 Eğer compare-- istedim gibi Son example-- int a içinde b, 1008 00:47:15,820 --> 00:47:17,640 Onlar değerlendirirsiniz true Elliot dediği gibi 1009 00:47:17,640 --> 00:47:19,431 onlar için saklandı tamsayı 1010 00:47:19,431 --> 00:47:21,320 ve sadece değerlerini değerlendirmek ediyoruz. 1011 00:47:21,320 --> 00:47:25,090 Burada, çünkü dizeleri diziler ve tüm diziler işaretçiler vardır 1012 00:47:25,090 --> 00:47:28,080 onlar değil bu yüzden birbirine eşit. 1013 00:47:28,080 --> 00:47:31,210 >> Yani bir tür, bu grafik kafa karıştırıcı. 1014 00:47:31,210 --> 00:47:32,450 Ama sadece hayal edelim. 1015 00:47:32,450 --> 00:47:38,110 Biz boyutta bir dizi oluşturmak ettik 2-- 0, 0 ila indeksi 3, 1016 00:47:38,110 --> 00:47:41,530 1 değerleri ile 1, 2, 2 ve 3 tanesi saklanır. 1017 00:47:41,530 --> 00:47:43,820 Tüm dizi gerçekten şimdi sadece burada does-- 1018 00:47:43,820 --> 00:47:46,720 Ben bir işaretçi oluştururken söylüyorlar olduğunu diziye 1019 00:47:46,720 --> 00:47:50,810 En değer erişme Bu dizinin ilk endeks. 1020 00:47:50,810 --> 00:47:52,890 Yani burada 0 olurdu. 1021 00:47:52,890 --> 00:47:53,390 Sağ? 1022 00:47:53,390 --> 00:47:56,820 Herkes nasıl anladı mı İlk satır değerlendirdi mi? 1023 00:47:56,820 --> 00:47:57,420 Büyük. 1024 00:47:57,420 --> 00:48:00,800 >> Ve böylece başlatmak istedim Bundan sonra ilave değerler, 1025 00:48:00,800 --> 00:48:04,390 hepimiz yeniden atama olduğunu yapıyoruz. 1026 00:48:04,390 --> 00:48:08,810 Bu yüzden, 0, 1, 2, 1. 1027 00:48:08,810 --> 00:48:12,770 Böylece bir kez bu işaretçi olduğunu Burada işaret, hepimiz yapıyoruz 1028 00:48:12,770 --> 00:48:15,540 aşağı hareket ediyor. 1029 00:48:15,540 --> 00:48:16,970 Yani artı 1 ne yapıyor. 1030 00:48:16,970 --> 00:48:18,500 Ve sonra biz orada 2 koyabilirsiniz. 1031 00:48:18,500 --> 00:48:23,250 Biz birinde 3 koymak isteseydi sonra biz bu işaretçi silmek istiyorum 1032 00:48:23,250 --> 00:48:25,170 Orada 3 koydu. 1033 00:48:25,170 --> 00:48:26,420 Bu mantıklı herkes yapar? 1034 00:48:26,420 --> 00:48:26,920 Evet. 1035 00:48:26,920 --> 00:48:28,086 Bir soru var mıydı? 1036 00:48:28,086 --> 00:48:30,711 HEDEF KİTLE: Bu [duyulamaz] var var Bir soru, ben yine de söyleyeceğim. 1037 00:48:30,711 --> 00:48:35,496 Ben aslında bir olduğunu sanmıyorum İngilizce ama- soru, dizi 1038 00:48:35,496 --> 00:48:37,448 eşittir 1 mantıklı. 1039 00:48:37,448 --> 00:48:39,888 Biz, tamam, gibi ilk şeysin. 1040 00:48:39,888 --> 00:48:44,280 Ama işler 0 endeksi vardır [Duyulamaz] dizi 0 eşittir 1041 00:48:44,280 --> 00:48:48,024 İlk noktayı gösterir. 1042 00:48:48,024 --> 00:48:48,690 ANDI PENG: Evet. 1043 00:48:48,690 --> 00:48:53,740 Yani aslında ne ben burada yapıyorum olduğunu Ben ilk indeksi erişen değilim. 1044 00:48:53,740 --> 00:48:57,930 Tüm ben, bu yüzden her şeyden önce doing-- oldu Yıldız dizisi ne yapar söyle? 1045 00:48:57,930 --> 00:48:59,480 Bir işaretçi önce bir yıldız ne yapar? 1046 00:48:59,480 --> 00:49:00,855 >> HEDEF KİTLE: Bir işaretçi belirtir. 1047 00:49:00,855 --> 00:49:02,910 Yani bir işaretçi ilan ediyoruz. 1048 00:49:02,910 --> 00:49:04,380 Bu de-- 1049 00:49:04,380 --> 00:49:07,520 >> ANDI'nin PENG: Bu, hangi araç dereferences gider ve aslında değerini alır. 1050 00:49:07,520 --> 00:49:08,020 Sağ? 1051 00:49:08,020 --> 00:49:13,030 Bu durumda Yani, almak istiyorum değer burada ve 1 olarak ayarlanmış. 1052 00:49:13,030 --> 00:49:13,800 Evet? 1053 00:49:13,800 --> 00:49:17,050 Yani bilmiyorum actually-- değilim Gerçekten bu endeksine umurumda, 1054 00:49:17,050 --> 00:49:21,406 Ben yapıyorum hepsi sadece aşağı yineleme olduğunu dizinin aşağı benim işaretçi hareket ettirerek. 1055 00:49:21,406 --> 00:49:23,280 Ve sonra sonunda ben Doğru, bunu durdurmak zorunda? 1056 00:49:23,280 --> 00:49:26,750 Ve ben durdurmak yolu Ben vurduğunuzda durumda olduğunu 1057 00:49:26,750 --> 00:49:28,750 bir dize, bir boş sonlandırıcı. 1058 00:49:28,750 --> 00:49:32,710 Ben görürsem ben back-- vurursan ben, oh, biliyorum Ters eğik çizgi 0, ben bu konuda bittim biliyorum 1059 00:49:32,710 --> 00:49:35,270 ve ben sadece can biliyorum yineleme durdurmak. 1060 00:49:35,270 --> 00:49:36,200 Gerçekten iyi bir soru. 1061 00:49:36,200 --> 00:49:40,210 >> Ve biz gerçekten uzak gidersiniz Bu önümüzdeki hafta derinlemesine 1062 00:49:40,210 --> 00:49:43,990 Çünkü gidiyor parça işaretçileri kullanımı bir sürü gerektirir. 1063 00:49:43,990 --> 00:49:48,459 Ama şimdi biliyorum, Bu sadece farklı more-- var: 1064 00:49:48,459 --> 00:49:51,250 Bunun için sadece farklı bir yolu Bilgisayar, esasen, yazma 1065 00:49:51,250 --> 00:49:52,470 Biz ne yapıyoruz oldum. 1066 00:49:52,470 --> 00:49:54,900 David de dediği gibi , yol ders biz 1067 00:49:54,900 --> 00:50:01,720 bir dizi yaparak sadece erişmek Dizi 0, dirsek 0, biz eğer sadece 1068 00:50:01,720 --> 00:50:04,050 İlk değer erişmek istiyordu. 1069 00:50:04,050 --> 00:50:10,280 >> Tüm bilgisayar dönüyor yapıyor İçine ve kendini yineleme söyledi. 1070 00:50:10,280 --> 00:50:13,580 Bu yüzden sözdizimsel diyoruz Sadece bir şeker 1071 00:50:13,580 --> 00:50:18,420 Kullanıcı dostu söyleyerek bir fantezi yolu programlama bilmeden bizi yolları. 1072 00:50:18,420 --> 00:50:21,560 Ama bilgisayar altında, ne yapıyor, 1073 00:50:21,560 --> 00:50:23,997 aslında sadece geçiriyor ayar var bir işaretçi. 1074 00:50:23,997 --> 00:50:26,330 Ama biz bunu yazmak yol, Bizim için kolay, çünkü 1075 00:50:26,330 --> 00:50:30,240 açısından şeyleri düşünmek kutuları ve kutuları aşağı taşımak için nasıl 1076 00:50:30,240 --> 00:50:32,190 parantez olan gereğidir. 1077 00:50:32,190 --> 00:50:36,394 Maalesef, bu, gerçekten Gerçekten kötü evet ama-. 1078 00:50:36,394 --> 00:50:38,310 Nasıl Yani olacaktır: İZLEYİCİ İki dizeleri karşılaştırmak 1079 00:50:38,310 --> 00:50:40,560 birbirlerine eşit olup olmadığınızı görmek için? 1080 00:50:40,560 --> 00:50:42,690 >> ANDI PENG: Böylece Davut yazdı konuşmasında bu program 1081 00:50:42,690 --> 00:50:45,274 bu yüzden sadece gidiyorum hızlı ve kısaca bitti. 1082 00:50:45,274 --> 00:50:47,440 Bunu yapacağını yolu Bu aslında olur ise 1083 00:50:47,440 --> 00:50:51,300 gidin ve karşılaştırmak gerekir addresses-- veya değerler 1084 00:50:51,300 --> 00:50:52,810 işaretçiler elde. 1085 00:50:52,810 --> 00:50:55,140 Peki nasıl yapmak hatırlıyorum Burada değerini elde? 1086 00:50:55,140 --> 00:50:56,825 Burada adrese umurumda değil. 1087 00:50:56,825 --> 00:50:58,950 Aslında nasıl alabilirim ne olursa olsun değeri burada? 1088 00:50:58,950 --> 00:50:59,470 >> HEDEF KİTLE: [duyulamaz]. 1089 00:50:59,470 --> 00:51:00,261 >> ANDI PENG: Kesinlikle. 1090 00:51:00,261 --> 00:51:05,090 Yani yıldız karşılaştırmak Burada burada yıldızı karşı. 1091 00:51:05,090 --> 00:51:06,150 O eşittir. 1092 00:51:06,150 --> 00:51:07,690 Ve sonra aşağı gitmek. 1093 00:51:07,690 --> 00:51:09,530 Burada yıldız ve Burada eşit yıldız? 1094 00:51:09,530 --> 00:51:10,030 TAMAM. 1095 00:51:10,030 --> 00:51:10,283 Onlar eşitiz. 1096 00:51:10,283 --> 00:51:12,866 Ve sen sadece aşağı inmeye devam Her iki sonuna isabet ettik kadar. 1097 00:51:12,866 --> 00:51:16,190 Ve hepsi o, eşitse Eğer dize eşit olduğunu biliyorum. 1098 00:51:16,190 --> 00:51:18,130 Ve C aslında sahip bir işlevi çağrılır yazılı 1099 00:51:18,130 --> 00:51:20,713 Dize Zorunlu olan aslında sadece dont nedenle 'sizin için yapar 1100 00:51:20,713 --> 00:51:22,140 Kendiniz yazmak zorunda. 1101 00:51:22,140 --> 00:51:23,274 Evet? 1102 00:51:23,274 --> 00:51:26,970 >> İZLEYİCİ: Ben derste düşünüyorum Biz karşılaştırmak ne zaman olduğunu. 1103 00:51:26,970 --> 00:51:29,520 Biz gerçekten ihtiyacımız yok pi gibi sayaç, değil mi? 1104 00:51:29,520 --> 00:51:34,310 >> ANDI PENG: Sen değil biz gerçekten umurumda değil, çünkü 1105 00:51:34,310 --> 00:51:36,250 kaç kutu biz aracılığıyla iterated ettik. 1106 00:51:36,250 --> 00:51:39,580 Biz umurumda hepimiz gidiyoruz olduğunu Ben durdurmak için öğrenene kadar devam edin. 1107 00:51:39,580 --> 00:51:41,990 Ve ne zaman durmak bilmiyor gösterge çeşit var 1108 00:51:41,990 --> 00:51:45,310 Eğer boş bir sonlandırıcı konum olduğunu. 1109 00:51:45,310 --> 00:51:45,930 Evet. 1110 00:51:45,930 --> 00:51:47,154 Yani-- 1111 00:51:47,154 --> 00:51:48,070 HEDEF KİTLE: [duyulamaz]. 1112 00:51:48,070 --> 00:51:48,736 ANDI PENG: Evet. 1113 00:51:48,736 --> 00:51:51,950 Karşılaştırılması durumunda Yani dizeleri, gerçekten yok 1114 00:51:51,950 --> 00:51:54,207 Kaç harf bakım Ben karşılaştırmak gerekir mudur 1115 00:51:54,207 --> 00:51:56,540 onlar doğru veya false iseniz birbirlerine eşitiz. 1116 00:51:56,540 --> 00:51:58,914 Kaç harf umurumda değil Bunların her biri, iyi misin? 1117 00:51:58,914 --> 00:52:01,130 Ben sadece bu umurumda Bu ve biriyle eşleşir 1118 00:52:01,130 --> 00:52:05,311 kibrit ve bir sonra sonra Sonuna kadar tüm yol eşleşir. 1119 00:52:05,311 --> 00:52:05,810 Sağ? 1120 00:52:05,810 --> 00:52:07,000 bu mantıklı mı? 1121 00:52:07,000 --> 00:52:10,166 >> Yani gerçekten, kaç harf umurumda değil Ben sadece umurumda tüm harfleri olduğunu 1122 00:52:10,166 --> 00:52:11,050 maç. 1123 00:52:11,050 --> 00:52:12,910 Evet. 1124 00:52:12,910 --> 00:52:13,920 TAMAM. 1125 00:52:13,920 --> 00:52:16,840 Ben bundan on taşıyabilir miyim? 1126 00:52:16,840 --> 00:52:18,489 Büyük. 1127 00:52:18,489 --> 00:52:21,280 Biz kısa biraz azalıyor Zaman yüzden sadece seni izin gidiyorum 1128 00:52:21,280 --> 00:52:23,670 Çocuklar kısaca bu bakmak için. 1129 00:52:23,670 --> 00:52:26,430 Kimliğinizi eğer içine Run Siz merak ediyoruz. 1130 00:52:26,430 --> 00:52:30,030 Ve siz ne görüyorsun Bu yazdırarak edilecektir. 1131 00:52:30,030 --> 00:52:30,640 TAMAM. 1132 00:52:30,640 --> 00:52:34,990 >> Biz de değinmek gerekir Yani bir şey Bit işareti aritmetik fikirdir. 1133 00:52:34,990 --> 00:52:38,180 Hangi o tüm bir yerine ayarlama daha 1134 00:52:38,180 --> 00:52:42,610 saklanan ne değerleri işaretçinizin adreste 1135 00:52:42,610 --> 00:52:45,030 Sadece gerçekten değişiyor adres kendisi. 1136 00:52:45,030 --> 00:52:49,420 Insan istediği gibi Yani eğer el işaretçi ayarlamak için, 1137 00:52:49,420 --> 00:52:52,700 Bunu yapacağını yolu sadece bir işaretçi n katı büyüklüğünde yapmak. 1138 00:52:52,700 --> 00:52:53,240 Sağ? 1139 00:52:53,240 --> 00:52:54,810 >> Yani bir int. 1140 00:52:54,810 --> 00:52:58,580 Bir int-- kaç bayt bellekte bir int nedir? 1141 00:52:58,580 --> 00:52:59,640 Bu doğru, dört değil mi? 1142 00:52:59,640 --> 00:53:03,520 Biliyorum Yani eğer ben bütün bir dizi var ints ve bunu birine işaret etmek istiyorum 1143 00:53:03,520 --> 00:53:08,470 sonradan, ben sadece var bilirdiniz Doğru, dört bayt benim işaretçi aşağı inmek? 1144 00:53:08,470 --> 00:53:12,440 Ve böylece n kat boyutu işaretçi bayt 1145 00:53:12,440 --> 00:53:15,890 Ancak birçok bayt sadece sensin tarafından işaretçiyi aşağı taşımak için gidiyor. 1146 00:53:15,890 --> 00:53:20,350 >> Yani, örneğin, biz bir dizi varsa ints, ilki, diyelim 1147 00:53:20,350 --> 00:53:22,280 0x00 olarak depolanır. 1148 00:53:22,280 --> 00:53:26,150 Sen bir sonraki de olacak biliyorum 0x04 o dört bayt sonra çünkü. 1149 00:53:26,150 --> 00:53:31,030 Ve bundan sonra bir gidiyor 0x08 ve benzeri ve benzeri olacak. 1150 00:53:31,030 --> 00:53:33,830 Ve böylece, çocuklar, bir göz atın. 1151 00:53:33,830 --> 00:53:36,640 >> Burada yapıyoruz tek şey Eğer bir işaretçi y var 1152 00:53:36,640 --> 00:53:43,700 ve bu ekliyoruz senin Bellek aşağı hareket böylece 1153 00:53:43,700 --> 00:53:45,559 hafıza blokları tahsis edilmiştir. 1154 00:53:45,559 --> 00:53:46,850 Daha yüksek bir seviyeye kavramının tür. 1155 00:53:46,850 --> 00:53:48,820 Siz ihtiyacınız olmayacak Bu hafta için bilmek, 1156 00:53:48,820 --> 00:53:51,290 ama bu orada aşağı yapıyor hepsi bu. 1157 00:53:51,290 --> 00:53:55,190 1158 00:53:55,190 --> 00:53:55,900 TAMAM. 1159 00:53:55,900 --> 00:53:56,710 >> Başka bir şaka zamanı. 1160 00:53:56,710 --> 00:54:01,360 1161 00:54:01,360 --> 00:54:02,780 İki dizeleri bir bara girer. 1162 00:54:02,780 --> 00:54:05,713 Bir Ben Bir rom istiyorum, diyor Kok çöp değerleri. 1163 00:54:05,713 --> 00:54:08,796 Diğer sen mazur gerekecek diyor arkadaşım, o boş sonlandırılmış değil. 1164 00:54:08,796 --> 00:54:10,390 Siz olsun. 1165 00:54:10,390 --> 00:54:10,890 Özür dilerim. 1166 00:54:10,890 --> 00:54:13,490 Bu benim kendimi tutmak nasıl Ben bölüm için hazırlık yaparken gidiyor 1167 00:54:13,490 --> 00:54:15,650 Ben bir kaç şaka slaytlar eklemek olduğunu. 1168 00:54:15,650 --> 00:54:16,150 Neyse. 1169 00:54:16,150 --> 00:54:21,460 1170 00:54:21,460 --> 00:54:21,960 TAMAM. 1171 00:54:21,960 --> 00:54:24,290 Ben on-- taşınmadan önce Böylece, esas olarak, biz ettik 1172 00:54:24,290 --> 00:54:30,600 kapsanan tüm kavramsal işaretçileri ile ilgili konular. 1173 00:54:30,600 --> 00:54:34,090 Ve sonra biz hareketli talk-- gidiyoruz Bu neden önemli hakkında daha fazla konuşmak 1174 00:54:34,090 --> 00:54:37,810 ve bu sığar nasıl bellek yönetimi fikir. 1175 00:54:37,810 --> 00:54:39,810 Ama geçmeden önce, Herkes soruları var mı 1176 00:54:39,810 --> 00:54:43,880 işaretçi kullanımı hakkında, neler oluyor Eğer işaretçileri oluştururken üzerinde, 1177 00:54:43,880 --> 00:54:47,540 nasıl her başvuran Diğer, nasıl dereferencing var? 1178 00:54:47,540 --> 00:54:51,760 Hakkında herhangi bir sorunuz Ben geçmeden önce böyle? 1179 00:54:51,760 --> 00:54:53,060 TAMAM. 1180 00:54:53,060 --> 00:54:54,770 Büyük. 1181 00:54:54,770 --> 00:54:58,170 >> Yani bu bize getiriyor Daha büyük üst düzey kavramı 1182 00:54:58,170 --> 00:55:00,310 Bir bütün olarak bellek yönetimi. 1183 00:55:00,310 --> 00:55:02,720 Bu nedenle, esas itibarıyla içinde Bilgisayarınız var 1184 00:55:02,720 --> 00:55:06,300 belleğin iki temel tipi veya Bellek bölgeler saklanır. 1185 00:55:06,300 --> 00:55:10,210 Sen ne denir burada var yığın ve buraya sahip 1186 00:55:10,210 --> 00:55:11,550 Ne yığın denir. 1187 00:55:11,550 --> 00:55:13,966 Ve biz hakkında konuşmak için gidiyoruz Yığın ilk olarak, çünkü 1188 00:55:13,966 --> 00:55:16,910 daha finagley biri size tür kavramsal var 1189 00:55:16,910 --> 00:55:18,570 Neler anlıyorum. 1190 00:55:18,570 --> 00:55:23,930 >> Böylece tüm yığın düşün bu-- bu bellek fiziksel yığını olarak 1191 00:55:23,930 --> 00:55:28,880 Eğer bir bellek bloğu var burada senin program için bir kenara oluyor 1192 00:55:28,880 --> 00:55:30,180 çalışır durumdayken. 1193 00:55:30,180 --> 00:55:34,480 Ve bu tüm esas, nerede Yerel değişkenler saklanır. 1194 00:55:34,480 --> 00:55:38,300 Yani bu sadece bir yakınlaştırılmış Bu yığının resimde. 1195 00:55:38,300 --> 00:55:41,060 Orada yığını, ben sadece biraz daha yakınlaştırma. 1196 00:55:41,060 --> 00:55:46,170 >> Yani, temelde, bir yığın var Programda fonksiyonu bir demet. 1197 00:55:46,170 --> 00:55:48,250 Yani sadece geri gidelim hafta iki örnek 1198 00:55:48,250 --> 00:55:51,450 bizim ana işlevi vardı nerede bir de küp fonksiyonu olarak 1199 00:55:51,450 --> 00:55:56,410 Biz bir işlevi oluşturmak için çalıştı nerede giriş olarak parametreleri aldı cubed--, 1200 00:55:56,410 --> 00:55:59,110 Onları cubed ve iade Onları geri ana kadar. 1201 00:55:59,110 --> 00:56:02,459 Yani bu böyle bellekte depolanır Eğer ana işleve sahip olduğunu 1202 00:56:02,459 --> 00:56:03,250 Burada altta. 1203 00:56:03,250 --> 00:56:06,630 Sonra her bir ilave fonksiyonu ile Bu çağrı ve bunun üzerine ekleyin, 1204 00:56:06,630 --> 00:56:07,960 Bellek sadece üstüne dizer. 1205 00:56:07,960 --> 00:56:10,190 Fiziksel yığını olarak düşünün. 1206 00:56:10,190 --> 00:56:13,570 >> Ve böylece hepiniz ana var ana fonksiyonların değişkenler, 1207 00:56:13,570 --> 00:56:15,260 Burada oluyor her şey, saklı. 1208 00:56:15,260 --> 00:56:17,440 Ve sonra çağrıldığında küp, gider ve 1209 00:56:17,440 --> 00:56:20,810 Tüm bu kopyalarını oluşturur Parametreler ve bunları saklar 1210 00:56:20,810 --> 00:56:23,010 farklı bir yerde, yukarıda. 1211 00:56:23,010 --> 00:56:24,280 Ve böylece neden ilgilendiriyor? 1212 00:56:24,280 --> 00:56:29,220 Biz bakım nedeni biz sadece can not olduğunu kullanmak parametreleri değişkenleri var-- 1213 00:56:29,220 --> 00:56:33,080 burada-- ve biz bekliyoruz, onları değiştirmek Onları da doğru, burada değiştirilecek? 1214 00:56:33,080 --> 00:56:35,910 >> Fikir onlar kurtardı konum olduğunu bellekteki farklı yerlerde 1215 00:56:35,910 --> 00:56:40,540 bu nedenle, bu farklı erişen yaparken fonksiyonlar, sen oluyor ne düşündüğünüzü 1216 00:56:40,540 --> 00:56:45,520 Aslında çünkü olmuyor bellek bitleri birbirine değildir. 1217 00:56:45,520 --> 00:56:50,530 Ve bu yüzden gerçekten bir soru olduğunu Bize biraz anlamak için önemli 1218 00:56:50,530 --> 00:56:54,100 , ne biz koşuyoruz zaman, eğer Bir program, bir fonksiyonun boyutu 1219 00:56:54,100 --> 00:56:57,159 yani fiziksel olarak nasıl frame-- yığını kadar bellek biz vermek zorunda mı? 1220 00:56:57,159 --> 00:56:59,950 Belki de dev bir fonksiyon yüzden var bunu bu kadar bellek vermek zorunda. 1221 00:56:59,950 --> 00:57:02,230 Daha küçük olsaydı ama biz çok zevkli olur minik biraz gerekir. 1222 00:57:02,230 --> 00:57:05,980 >> Yani fikir, biz koşuyoruz zaman olduğunu Bir program bu işlev boyutu 1223 00:57:05,980 --> 00:57:09,100 Kaç bağlıdır değişkenler ve değişkenlerin tipi 1224 00:57:09,100 --> 00:57:10,940 biz bunu vermek istiyorum. 1225 00:57:10,940 --> 00:57:13,910 Ama ne numarası varsa variables-- ve boyutları, 1226 00:57:13,910 --> 00:57:16,140 bu kararlı var sizin tarafınızdan kodlayıcı ama 1227 00:57:16,140 --> 00:57:20,580 Gerçek belirlenir Programınızın kullanıcı. 1228 00:57:20,580 --> 00:57:24,240 Ben bir işlevi oluşturmak istedim Yani eğer Bu, kullanıcının dizeleri aldı 1229 00:57:24,240 --> 00:57:27,630 ama aslında ne kadar büyük bilmiyorum Bu dizeler benim için zor vardır 1230 00:57:27,630 --> 00:57:30,220 Belirli tahsis etmek bellek miktarı gerekli. 1231 00:57:30,220 --> 00:57:30,920 Sağ? 1232 00:57:30,920 --> 00:57:35,234 >> Bu eğer function-- Çünkü eğer Bu kullanıcının dev dize girişleri, 1233 00:57:35,234 --> 00:57:37,650 bir hata oluşturmak için gidiyor esasen denir ne 1234 00:57:37,650 --> 00:57:42,190 Eğer ötesine taşma yığını nereye Sahip olduğunuz bellek sınırları. 1235 00:57:42,190 --> 00:57:44,250 Ve böylece o zaman ne yapacağız? 1236 00:57:44,250 --> 00:57:47,290 Biz sadece bu dev oluşturmak yapamıyorsanız her şeyin kaydedebilirsiniz yığını, 1237 00:57:47,290 --> 00:57:50,260 biz bu sorunu çözmek için ne yapmalıyım? 1238 00:57:50,260 --> 00:57:54,364 >> Yani biz ve konuşmak hareket edecek bellek, bu ikinci tür 1239 00:57:54,364 --> 00:57:56,780 ve sonra biz nasıl konuşabiliriz iki birlikte kullanabileceğiniz 1240 00:57:56,780 --> 00:57:58,550 Bu soruyu çözmek için. 1241 00:57:58,550 --> 00:58:01,024 Yani şimdi biz yukarı taşımak için gidiyoruz belleğin farklı bir parçası 1242 00:58:01,024 --> 00:58:01,690 Bizim bilgisayarda. 1243 00:58:01,690 --> 00:58:03,215 Bu yığın denir. 1244 00:58:03,215 --> 00:58:07,150 Böylece tüm yığın bir havuz olduğunu mevcut hafıza olduğunu 1245 00:58:07,150 --> 00:58:08,690 dinamik tahsis edilebilir. 1246 00:58:08,690 --> 00:58:12,420 Yani süre değiştirebilirsiniz Programınız çalışıyor. 1247 00:58:12,420 --> 00:58:15,160 >> Ve böylece bir bölge içinde O can kullanılmayan bellek 1248 00:58:15,160 --> 00:58:18,200 olabilir ki allowed-- olması fonksiyonu ile ayrılan 1249 00:58:18,200 --> 00:58:20,490 denilen malloc veya bellek ayırma. 1250 00:58:20,490 --> 00:58:23,110 Böylece, esas olarak, ne zaman Eğer bir program yapıyoruz 1251 00:58:23,110 --> 00:58:29,560 dinamik bellek oluşturabilirsiniz öbek ve burada tüm aşağı kullanın. 1252 00:58:29,560 --> 00:58:34,280 Ve işlevleri böylece daha sonra, tüm Burada öbek erişebilirsiniz. 1253 00:58:34,280 --> 00:58:37,960 >> Ve böylece malloc, bu fikir David Biraz çabuk, kısaca geçiştirilmiştir 1254 00:58:37,960 --> 00:58:41,570 derste için sadece bir yoludur Eğer hafıza kontrol etmek. 1255 00:58:41,570 --> 00:58:45,470 Gibi, ne zaman sadece oluştururken Sadece olduğunuzda, işlevleri yığını 1256 00:58:45,470 --> 00:58:48,290 ana işleve sahip Random işlevleri ile, 1257 00:58:48,290 --> 00:58:52,270 Eğer çocukları olarak onları düşünüyorum sadece Onlarla bitince kaçtı. 1258 00:58:52,270 --> 00:58:53,690 Onlar gerçekten kötü çocuklardı. 1259 00:58:53,690 --> 00:58:55,515 Onları, sizi oluşturmak Onlara bir şey öğretmek, 1260 00:58:55,515 --> 00:58:57,640 ve daha sonra istediğiniz zaman they tekrar erişmek 1261 00:58:57,640 --> 00:58:59,850 orada sizin yanınızdaki çünkü Bellek sadece kaçtı. 1262 00:58:59,850 --> 00:59:04,140 >> Ama malloc veya yığın, bir yoludur ve nerede daha iyi çocuk sahibi 1263 00:59:04,140 --> 00:59:07,090 ne tür oluşturabilirsiniz Onları, onlara değerleri atamak, 1264 00:59:07,090 --> 00:59:11,080 Gerçekten kulağa them-- kullanın İstediğin ancak bad-- bunları kullanmak, 1265 00:59:11,080 --> 00:59:14,002 ancak daha sonra kontrol edebilmek Onları ve daha sonra belleği boşaltmak 1266 00:59:14,002 --> 00:59:14,960 Bunları gerektiğinde. 1267 00:59:14,960 --> 00:59:18,085 Öyleyse sen işin bitince senin fonksiyonu, çocuklar sana gel 1268 00:59:18,085 --> 00:59:20,290 ve hala orada bu verileri var. 1269 00:59:20,290 --> 00:59:25,690 >> Yani biz malloc veya oluşturmak yolu, Hafıza fonksiyonu geçersiz yıldızı tarafından 1270 00:59:25,690 --> 00:59:26,790 bayt malloc boyutu. 1271 00:59:26,790 --> 00:59:29,730 Yani bu sadece prototip Biz bunu niçin. 1272 00:59:29,730 --> 00:59:35,800 Yani bir örnek bir işaretçi oluşturmak olduğunu int yıldızın pointer-- eşittir int-- yazın 1273 00:59:35,800 --> 00:59:38,120 int malloc boyutu. 1274 00:59:38,120 --> 00:59:41,734 Biz boyutunu yapmak neden nedeni So ve sadece bir number-- 1275 00:59:41,734 --> 00:59:43,650 hepimiz biliyoruz, çünkü bir int dört bayt olduğunu 1276 00:59:43,650 --> 00:59:48,310 haklıydın-- ancak bir int sadece dört olduğunu Belirli işletim sistemlerinde bayt. 1277 00:59:48,310 --> 00:59:50,410 >> Bizim için fikri olarak programcılar biz o 1278 00:59:50,410 --> 00:59:53,160 kod oluşturmak için olabilir istiyorum , tüm bilgisayarlarda değil, sadece koşmak 1279 00:59:53,160 --> 00:59:54,860 bizim basit bilgisayarlar. 1280 00:59:54,860 --> 00:59:58,350 Biz kullanmak ister ve neden bu kadar işte büyüklüğü ve sadece dört numara. 1281 00:59:58,350 --> 00:59:59,970 Bu herkese mantıklı mı? 1282 00:59:59,970 --> 01:00:03,930 Böylece tüm of-- boyutu bir C işlev ya da operatör olduğunu 1283 01:00:03,930 --> 01:00:09,350 Hafıza yapar kaç bayt söyler değişkenin belli bir tip sürebilir. 1284 01:00:09,350 --> 01:00:11,150 Yani bu durumda, bir int boyutu dörttür. 1285 01:00:11,150 --> 01:00:12,090 Dört bayt. 1286 01:00:12,090 --> 01:00:15,490 Ve malloc serbest gidiyor senin yığın dört byte kadar, 1287 01:00:15,490 --> 01:00:18,790 sonra sonra main kullanabileceğiniz Fonksiyon hafızasını saklamak mümkün. 1288 01:00:18,790 --> 01:00:22,460 1289 01:00:22,460 --> 01:00:24,860 Herkes şimdiye kadar bu konuda açık mı? 1290 01:00:24,860 --> 01:00:25,918 Evet? 1291 01:00:25,918 --> 01:00:28,122 >> İZLEYİCİ: Ben açık değilim ama Sadece clear-- üzerinde olması 1292 01:00:28,122 --> 01:00:28,705 ANDI PENG: Tamam. 1293 01:00:28,705 --> 01:00:29,246 Tamamen iyi. 1294 01:00:29,246 --> 01:00:32,176 HEDEF KİTLE: --size taşımaktadır [duyulamaz] aslında can [duyulamaz] 1295 01:00:32,176 --> 01:00:34,384 ve aslında yapacak biz istiyoruz şey. 1296 01:00:34,384 --> 01:00:35,380 Bazı pseudocode değil. 1297 01:00:35,380 --> 01:00:35,878 >> ANDI PENG: Hayır 1298 01:00:35,878 --> 01:00:36,874 >> HEDEF KİTLE: Gerçek bir thing-- gibi 1299 01:00:36,874 --> 01:00:37,372 >> ANDI PENG: Bu gerçek bir koddur. 1300 01:00:37,372 --> 01:00:38,455 >> HEDEF KİTLE: --we kullanabilirsiniz. 1301 01:00:38,455 --> 01:00:39,862 Bu gerçek değil. 1302 01:00:39,862 --> 01:00:40,418 Güzel. 1303 01:00:40,418 --> 01:00:41,751 ANDI PENG: boyutu C. ile birlikte geliyor 1304 01:00:41,751 --> 01:00:43,475 HEDEF KİTLE: Bu benim hayatım mutlu yapar. 1305 01:00:43,475 --> 01:00:45,550 ANDI PENG: Evet. 1306 01:00:45,550 --> 01:00:48,610 Eğer tembel programcı iseniz Yani gibi Ben tür bazen duyuyorum, 1307 01:00:48,610 --> 01:00:50,402 Ben ezberlemeye sevmiyorum Bir int ne boyutu 1308 01:00:50,402 --> 01:00:52,734 Ben ezberlemeye sevmiyorum olduğunu float boyutuna olduğunu. 1309 01:00:52,734 --> 01:00:55,160 Sadece boyutu ne söyler o ve o çok daha kolay. 1310 01:00:55,160 --> 01:00:59,880 1311 01:00:59,880 --> 01:01:00,440 >> Pekala. 1312 01:01:00,440 --> 01:01:02,160 Yani önemli bir şey hepiniz istediğiniz 1313 01:01:02,160 --> 01:01:04,620 sen ne zaman akılda tutulması gereken malloc kullanarak her zaman olduğu 1314 01:01:04,620 --> 01:01:06,400 null olup olmadığını görmek için kontrol etmelisiniz. 1315 01:01:06,400 --> 01:01:08,630 Gibi Bu yüzden geri belirterek, öbek o resim. 1316 01:01:08,630 --> 01:01:11,390 Yığın sadece bu dev Eğer var bellek yığını. 1317 01:01:11,390 --> 01:01:16,740 Ve parçaları almak mümkün olmak istiyorum ve ondan bellek, doğru kullanmak? 1318 01:01:16,740 --> 01:01:19,750 >> Ama hayır ne varsa Bu yığın daha fazla bellek? 1319 01:01:19,750 --> 01:01:23,650 Ne Zaten bütün kullandıysanız ve bunun daha malloc deneyin? 1320 01:01:23,650 --> 01:01:24,864 Bu yok. 1321 01:01:24,864 --> 01:01:26,780 Sen niye Peki, bu bir hata alacaksın. 1322 01:01:26,780 --> 01:01:29,220 Sen hatayı seg gidiyoruz. Gidiyorsun nerede bir segment hataya sahip 1323 01:01:29,220 --> 01:01:30,940 var olmayan şeyleri erişmeye çalışın. 1324 01:01:30,940 --> 01:01:33,180 Ve böylece yol yapıyoruz Bu ve yol biz 1325 01:01:33,180 --> 01:01:36,120 biz kontrol olduğunu bilmek işaretçinin boş olmadığını görmek için. 1326 01:01:36,120 --> 01:01:41,650 >> Yani eğer bir şey malloc vardı ve ben, hiçbir fazla bellek vardı 1327 01:01:41,650 --> 01:01:45,501 çünkü bir hata basacaktır işaretçisi sadece null döndü. 1328 01:01:45,501 --> 01:01:47,750 Ve böylece şekilde biz bu-- do Bu, sadece büyük bir tasarım 1329 01:01:47,750 --> 01:01:52,140 Sadece bu-- herhangi bir ezberlemek zaman bir şey malloc çalışın, 1330 01:01:52,140 --> 01:01:55,300 size ihtiyacınız olacak null olup olmadığını görmek için kontrol edin. 1331 01:01:55,300 --> 01:01:58,257 Eğer denemek zaman Çünkü yığın bellek edinin 1332 01:01:58,257 --> 01:02:00,340 Her zaman yapmak zorunda Eğer bellek var olduğundan emin olun. 1333 01:02:00,340 --> 01:02:01,350 Yani hepsi bu. 1334 01:02:01,350 --> 01:02:04,980 >> Yani hemen hemen bu üç kod satırları, ezberlemek. 1335 01:02:04,980 --> 01:02:06,830 Her zaman malloc, onları plop. 1336 01:02:06,830 --> 01:02:08,190 Onlara ihtiyacımız olacak. 1337 01:02:08,190 --> 01:02:10,540 Ben size garanti Çünkü, biz gidiyoruz bir durumda ve bilgisayarınızda sizi sınamak için 1338 01:02:10,540 --> 01:02:13,498 sen çünkü patlayacak bu erişim belleği denemek için gidiyoruz 1339 01:02:13,498 --> 01:02:16,680 orada ve işler olacak çarpışma ve iyi olacak değil. 1340 01:02:16,680 --> 01:02:19,290 Dolayısıyla, sadece beynine o delin. 1341 01:02:19,290 --> 01:02:21,370 Malloc, boş. 1342 01:02:21,370 --> 01:02:22,360 İyi. 1343 01:02:22,360 --> 01:02:22,860 Pekala. 1344 01:02:22,860 --> 01:02:26,280 1345 01:02:26,280 --> 01:02:28,340 >> Sonra bu doğurur ne olur sorusu 1346 01:02:28,340 --> 01:02:30,550 biz bu bellek kullanarak bitirdiniz sonra. 1347 01:02:30,550 --> 01:02:32,390 Bütün fikre Çünkü Malloc sahip olduğu 1348 01:02:32,390 --> 01:02:36,460 biz alabilir bu yığın var bellek ve daha sonra bunu kullanabilirsiniz. 1349 01:02:36,460 --> 01:02:37,220 Sağ? 1350 01:02:37,220 --> 01:02:40,550 Ve sonra ne hatırlamak Biz onunla bitti, o sonra, 1351 01:02:40,550 --> 01:02:41,900 Biz o zaman ücretsiz yapabilirsiniz. 1352 01:02:41,900 --> 01:02:42,400 Bırak gitsin. 1353 01:02:42,400 --> 01:02:43,979 Biz gidelim olabilir. 1354 01:02:43,979 --> 01:02:47,020 Yoksa siz de kaçak gidiyoruz bellek ve daha kötü şeyler olacak. 1355 01:02:47,020 --> 01:02:49,010 >> Esasen, her Belleği dokunuyorsun, 1356 01:02:49,010 --> 01:02:51,800 kötü şeyler eğer olur doğru şeyler yapmazlar. 1357 01:02:51,800 --> 01:02:55,150 Yani ilk görmek için kontrol etmek zorunda, Eğer bellek varsa. 1358 01:02:55,150 --> 01:02:58,700 Bitirdiniz sonra Ve sonra, istediğiniz Onu özgür ve işletim sisteminizi izin 1359 01:02:58,700 --> 01:03:00,690 Onu geri almak için. 1360 01:03:00,690 --> 01:03:04,870 Bu yüzden bunu yolu sadece olduğunu işlevi, geçersiz özgür ve işaretçi 1361 01:03:04,870 --> 01:03:06,370 belleğin o yığın. 1362 01:03:06,370 --> 01:03:08,680 >> Yani örnek ücretsiz göstericidir. 1363 01:03:08,680 --> 01:03:11,580 Bu, basit, oldukça kolay unutmak istemiyorum. 1364 01:03:11,580 --> 01:03:14,687 Yani boş olup olmadığını ücretsiz bakın. 1365 01:03:14,687 --> 01:03:15,270 Herkes iyi? 1366 01:03:15,270 --> 01:03:22,660 1367 01:03:22,660 --> 01:03:27,325 Yani bir kez daha, kod, siz tür hızlı bir göz alabilir. 1368 01:03:27,325 --> 01:03:34,964 1369 01:03:34,964 --> 01:03:37,880 Ben yeni sözdizimi bir sürü biliyorum ve Eğer ah, gibisin eğer, tamam 1370 01:03:37,880 --> 01:03:38,963 yine ne anlama geliyor? 1371 01:03:38,963 --> 01:03:40,250 Endişe etme. 1372 01:03:40,250 --> 01:03:46,785 Bütün bu görüntülüyor olması gerekiyordu bir eylem, nasıl tüm bunları 1373 01:03:46,785 --> 01:03:47,660 birlikte kullanılabilir. 1374 01:03:47,660 --> 01:03:52,190 1375 01:03:52,190 --> 01:03:54,190 Yani bir araya getirildiği Geçmişte bir grup gibi 1376 01:03:54,190 --> 01:03:56,532 slaytlar biz sadece gitti aracılığıyla tek bir program halinde. 1377 01:03:56,532 --> 01:03:58,240 İZLEYİCİ: Bir anlamda Biz actually-- ki 1378 01:03:58,240 --> 01:03:59,570 ANDI'nin PENG: Bir anlamda bu biz aslında kullanabilirsiniz. 1379 01:03:59,570 --> 01:04:02,379 Sen, kimliği içine plop Bunu çalıştırabilir ve çalışmaya devam eder. 1380 01:04:02,379 --> 01:04:02,920 HEDEF KİTLE: Tamam. 1381 01:04:02,920 --> 01:04:04,140 Yani gerçek? 1382 01:04:04,140 --> 01:04:05,580 >> ANDI PENG: İşte gerçek. 1383 01:04:05,580 --> 01:04:06,430 Evet. 1384 01:04:06,430 --> 01:04:08,690 Ben öyle yapmayı deneyin fontlar çok farklı 1385 01:04:08,690 --> 01:04:11,770 Gerçek yazdığınızda o Kod yazı kodu 1386 01:04:11,770 --> 01:04:15,471 ve benim not kodu farklı olduğunu ancak Aslında çalışıp çalışmadığını bilmiyorum. 1387 01:04:15,471 --> 01:04:16,012 İZLEYİCİ: Hayır 1388 01:04:16,012 --> 01:04:17,190 Bence-- 1389 01:04:17,190 --> 01:04:18,213 >> ANDI PENG: Tamam. 1390 01:04:18,213 --> 01:04:20,578 >> İZLEYİCİ: --sometimes [Duyulamaz] ve ben 1391 01:04:20,578 --> 01:04:23,416 gibi, bu gerçekten sevimli olurdu aslında kullanışlı bir şey olsaydı 1392 01:04:23,416 --> 01:04:24,812 ama sonra kullanılabilir bir şey değil. 1393 01:04:24,812 --> 01:04:26,270 Ben bu kullanışlı bir şey olduğu gibi. 1394 01:04:26,270 --> 01:04:27,010 >> ANDI PENG: Tamam. 1395 01:04:27,010 --> 01:04:27,510 Evet. 1396 01:04:27,510 --> 01:04:28,430 Ben birlikte bu geçmek gerekir. 1397 01:04:28,430 --> 01:04:33,266 David gibi ol, çocuklar gerçekten üzgün sahte kod yazarken. 1398 01:04:33,266 --> 01:04:34,240 Pekala. 1399 01:04:34,240 --> 01:04:34,740 Evet? 1400 01:04:34,740 --> 01:04:37,686 >> HEDEF KİTLE: Yani burada ptr aslında bir işaretçi değildir 1401 01:04:37,686 --> 01:04:41,130 o bir bellek blok? 1402 01:04:41,130 --> 01:04:45,130 >> ANDI PENG: Peki neden bahsediyorsun İlk satır veya aşağı burada bir? 1403 01:04:45,130 --> 01:04:48,170 Burada bu bir mi bahsediyorsun? 1404 01:04:48,170 --> 01:04:50,910 >> HEDEF KİTLE: ptr açmayız farklı şeyler 1405 01:04:50,910 --> 01:04:53,230 >> ANDI PENG: Peki, buraya bu yüzden Ne ben aslında doing-- ediyorum 1406 01:04:53,230 --> 01:04:54,660 Sadece buradan gidelim. 1407 01:04:54,660 --> 01:04:57,120 Bağların Bu tür içinde güzel kavramların hepsi. 1408 01:04:57,120 --> 01:05:01,840 Yani burada biz int yıldız ptr var. 1409 01:05:01,840 --> 01:05:04,160 Yani işaretçi int, o nerede biz aslında yaratıyoruz 1410 01:05:04,160 --> 01:05:06,550 tamsayı işaret eden bir işaretçi. 1411 01:05:06,550 --> 01:05:08,230 Peki, bu bir tam sayıya işaret gidiyor. 1412 01:05:08,230 --> 01:05:12,135 Ve biz malloc gidiyoruz, ya da konum vermek, yeterli bellek tahsis 1413 01:05:12,135 --> 01:05:13,200 arasında bir tamsayıyı depolamak. 1414 01:05:13,200 --> 01:05:14,910 Bu durumda Yani dört bayt. 1415 01:05:14,910 --> 01:05:18,024 >> Sonra bu null-- eşittir eşittir Biz yazdırmak için gidiyoruz null-- eşittir. 1416 01:05:18,024 --> 01:05:20,440 Ah, bir hata var, çünkü bellek bitti, değil mi? 1417 01:05:20,440 --> 01:05:22,814 Aksi takdirde geri on, sadece programı söyler 1418 01:05:22,814 --> 01:05:24,170 Bu bir hata var. 1419 01:05:24,170 --> 01:05:26,850 Ve sonra bunu yaparsanız bu, o belleğe sahip 1420 01:05:26,850 --> 01:05:33,230 olsun ne olursa olsun saklamak için gidiyoruz int konuma verir 1421 01:05:33,230 --> 01:05:35,460 ve işaretçi değeri olarak ayarlayın. 1422 01:05:35,460 --> 01:05:38,500 Yani aslında gidiyor fiziksel olarak bu değeri silmek 1423 01:05:38,500 --> 01:05:41,702 ve int getiri elde ne koydu. 1424 01:05:41,702 --> 01:05:43,910 Ve sonra gidiyoruz girdikleri her türlü baskı. 1425 01:05:43,910 --> 01:05:46,080 >> HEDEF KİTLE: Ve bu öbek olacak? 1426 01:05:46,080 --> 01:05:47,060 >> ANDI PENG: Bu gidiyor öbek için. 1427 01:05:47,060 --> 01:05:48,768 >> HEDEF KİTLE: Ve böylece erişilebilir olacaktır. 1428 01:05:48,768 --> 01:05:51,220 ANDI PENG: Kesinlikle. 1429 01:05:51,220 --> 01:05:52,600 Güzel. 1430 01:05:52,600 --> 01:05:53,756 İyi. 1431 01:05:53,756 --> 01:05:59,289 >> HEDEF KİTLE: Yani buna ptr serbest zaman Son adım, biz işaretçi azat edilir 1432 01:05:59,289 --> 01:06:00,724 ya da biz bloğu boşaltarak, değil mi? 1433 01:06:00,724 --> 01:06:01,390 ANDI PENG: Evet. 1434 01:06:01,390 --> 01:06:05,570 Bu yüzden pointer-- azat ettiğin iyi, bellek bloğu boşaltarak. 1435 01:06:05,570 --> 01:06:08,780 Yani tek yolu erişimi eşitlemek olabilir Bellek işaretçisi olan gereğidir. 1436 01:06:08,780 --> 01:06:10,730 Eğer işaretçi yoksa, sen Nerede olduğunu gibi, oh, bilmiyorum, 1437 01:06:10,730 --> 01:06:11,290 sağ? 1438 01:06:11,290 --> 01:06:13,956 Eğer özgür Yani, aslında konum O bütün bloğu boşaltarak. 1439 01:06:13,956 --> 01:06:16,500 Ardından bilgisayar oh, bilir, kullanılabilir bir şey, burada yok 1440 01:06:16,500 --> 01:06:19,396 Ben sadece çöp koyabilirsiniz değerleri tekrar içine tekrar. 1441 01:06:19,396 --> 01:06:21,590 >> HEDEF KİTLE: tamsayılar bu konuda biri yapmak So? 1442 01:06:21,590 --> 01:06:23,481 >> ANDI PENG: tamsayılar var mı? 1443 01:06:23,481 --> 01:06:23,980 Özür dilerim. 1444 01:06:23,980 --> 01:06:25,271 Eğer soru rephrase miyim? 1445 01:06:25,271 --> 01:06:28,330 HEDEF KİTLE: Eğer özgür sonra ben, demek pointer, olsun tamsayı, 1446 01:06:28,330 --> 01:06:29,990 hala var olacak? 1447 01:06:29,990 --> 01:06:31,360 >> ANDI PENG: Hayır, böyle olmaz. 1448 01:06:31,360 --> 01:06:34,070 1449 01:06:34,070 --> 01:06:37,550 Ya da en azından mevcut olacak senin bellek bilgisayar yok önce 1450 01:06:37,550 --> 01:06:40,231 onunla ne, ama var Senin için hiçbir şekilde o olsun. 1451 01:06:40,231 --> 01:06:41,480 İşaretçiyi serbest çünkü. 1452 01:06:41,480 --> 01:06:43,150 Artık nerede olduğunu bilmiyorum. 1453 01:06:43,150 --> 01:06:43,650 Evet. 1454 01:06:43,650 --> 01:06:46,500 1455 01:06:46,500 --> 01:06:48,560 >> Burada hareket edeceğim. 1456 01:06:48,560 --> 01:06:49,060 Vay be. 1457 01:06:49,060 --> 01:06:53,012 Yani biz kavramsal bir sürü bitti bellek yönetimi zorluklar 1458 01:06:53,012 --> 01:06:54,720 ve biz sadece gidiyoruz esasen geçirmek 1459 01:06:54,720 --> 01:06:57,090 Gidiş 5, 10 dakika sözdizimi şeye o 1460 01:06:57,090 --> 01:07:03,240 kullanışlı ve çocuklar için yararlı olacaktır, ama çok kavramsal orada hiçbir şey. 1461 01:07:03,240 --> 01:07:03,740 TAMAM. 1462 01:07:03,740 --> 01:07:06,930 >> Yani biz tamamen burada vites değiştiriyoruz. 1463 01:07:06,930 --> 01:07:09,360 Bellek yönetimi, zor. Göstericiler, zor. Evet. 1464 01:07:09,360 --> 01:07:10,530 Bu gerçekten zor, gerçekten. 1465 01:07:10,530 --> 01:07:11,270 Tamamen iyi. 1466 01:07:11,270 --> 01:07:13,800 Senin parçası olmasının nedeni budur gerçekten zor olacak. 1467 01:07:13,800 --> 01:07:17,740 Ama gidip yaparsanız Biz konum şeyler 1468 01:07:17,740 --> 01:07:19,860 yapmak gerekiyordu, yapmak Emin şeyler null 1469 01:07:19,860 --> 01:07:21,830 şeyler olup olmadığını kontrol etmek emin olun null, boş bellek emin olun, 1470 01:07:21,830 --> 01:07:23,910 Emin şeyler değildir yapmak sızıntı, iyi olacak. 1471 01:07:23,910 --> 01:07:25,761 Sen kurulacaktır. 1472 01:07:25,761 --> 01:07:26,260 Pekala. 1473 01:07:26,260 --> 01:07:30,870 Yani biz bu taşımak için gidiyoruz yönlendirme tamamen yeni bir konsept. 1474 01:07:30,870 --> 01:07:33,201 Ve şimdi önce biz ettik ana yol 1475 01:07:33,201 --> 01:07:35,700 ile etkileşim olmuştur bizim programlar standart giriş yoluyla 1476 01:07:35,700 --> 01:07:36,533 ve standart çıktı. 1477 01:07:36,533 --> 01:07:37,040 Sağ? 1478 01:07:37,040 --> 01:07:39,230 Kullanıcı girişi gibi şeyler ve bilgisayar 1479 01:07:39,230 --> 01:07:42,090 bize geri terminalde bunu tükürür. 1480 01:07:42,090 --> 01:07:44,770 >> Ama diğer vardır Bize etkileşim için yolları 1481 01:07:44,770 --> 01:07:47,810 ile bilgisayar ile bizim Sadece ben değil programlar 1482 01:07:47,810 --> 01:07:50,245 Fiziksel yazarak şeyler Ben istendiğinde olduğumda içinde. 1483 01:07:50,245 --> 01:07:52,620 Ve biz bunu yoludur daha büyük havuç aracılığıyla 1484 01:07:52,620 --> 01:07:53,453 ve boru sembolü. 1485 01:07:53,453 --> 01:07:55,970 1486 01:07:55,970 --> 01:07:58,630 Bu yüzden de okuyabilir ve Bu kullanarak dosyaları için yazıyorum. 1487 01:07:58,630 --> 01:08:03,230 >> Yani biz bunu yoludur büyük havuç yerine, bütün bu yapıyor 1488 01:08:03,230 --> 01:08:07,410 yazıyor ne olursa olsun sizin yanınızdaki Dosya ayrı bir dosya vardır. 1489 01:08:07,410 --> 01:08:11,870 Örneğin, eğer Yani merhaba dünya çalıştırmak istedi 1490 01:08:11,870 --> 01:08:14,330 ve ben çıktı istedim Başka bir dosyaya kaydedilebilir 1491 01:08:14,330 --> 01:08:17,359 ve sadece bana, ben dışarı yazdırılır Sadece havuç daha büyük yapabilir, 1492 01:08:17,359 --> 01:08:18,410 çýktý.txt. 1493 01:08:18,410 --> 01:08:22,609 Yani yapıyor tüm alarak Benim hello.world program 1494 01:08:22,609 --> 01:08:26,359 Çıktı ne olursa olsun ve bu var output.txt adlı bir dosyaya kaydetme. 1495 01:08:26,359 --> 01:08:29,850 Davut yaptım yol Öğrencilerin isimleri ile .csv, 1496 01:08:29,850 --> 01:08:32,310 o siz yapabilirsiniz aynıdır. 1497 01:08:32,310 --> 01:08:35,137 >> Ve özellikle bu yararlıdır Burada büyüktür 1498 01:08:35,137 --> 01:08:38,220 iki havuç daha büyük edemememden Bir çıkış ekleyebilirsiniz işaretler 1499 01:08:38,220 --> 01:08:40,795 Size demektir dosya, sadece bunun üzerine ekleyebilirsiniz. 1500 01:08:40,795 --> 01:08:43,420 Sadece eklemeye devam edebilirsiniz Her ek bir şey output.txt 1501 01:08:43,420 --> 01:08:44,490 Bu yaptığınızı. 1502 01:08:44,490 --> 01:08:48,010 Veya, daha biniyorlar başlatırsanız karmaşık programları iki büyük 1503 01:08:48,010 --> 01:08:50,939 havuç yerine, sadece yazdırır hata mesajları dışında. 1504 01:08:50,939 --> 01:08:53,340 Yani dev bir söylüyorlar hata iletileri miktarı 1505 01:08:53,340 --> 01:08:54,810 ve okumak istediğiniz Bunlardan ve hepiniz yoluyla 1506 01:08:54,810 --> 01:08:56,450 kaydırmak zorunda istemiyorum terminal yoluyla, 1507 01:08:56,450 --> 01:08:58,651 aslında sadece yapabilirsiniz output.txt daha büyük 1508 01:08:58,651 --> 01:09:00,359 ve kurtarmak için gidiyor senin hataları her 1509 01:09:00,359 --> 01:09:02,900 Bir dosya bu çýktý.txt adı Eğer geçmesi ve okuyabilirsiniz. 1510 01:09:02,900 --> 01:09:04,622 HEDEF KİTLE: metin dosyası kaydedilir? 1511 01:09:04,622 --> 01:09:07,330 ANDI PENG: Aynı kaydedilmişse senin program dizini. 1512 01:09:07,330 --> 01:09:09,830 Yani sadece geri dönmek ve bunun için bakmak. 1513 01:09:09,830 --> 01:09:11,930 Ve aynı şey giriş için yapabileceği bir 1514 01:09:11,930 --> 01:09:14,300 biz aslında alabilir Bazı dosyanın içeriği 1515 01:09:14,300 --> 01:09:16,380 ve biz girdi olabilir bizim programa söyledi. 1516 01:09:16,380 --> 01:09:19,930 Yani oldukça komutu yapmak zorunda daha Size fiziksel olarak bir satırı argümanları 1517 01:09:19,930 --> 01:09:21,680 şeyleri yazmak zorunda her zaman, sen 1518 01:09:21,680 --> 01:09:27,890 aslında sadece adında bir dosya olabilir Bu input.txt sadece tüm koyar. 1519 01:09:27,890 --> 01:09:31,970 >> Ve sonra boru nedeniyle özellikle serin bu bir program çıktısını alabilir 1520 01:09:31,970 --> 01:09:34,170 ve girdi olarak kullanmak Başka bir program. 1521 01:09:34,170 --> 01:09:38,430 Yani örneğin, çocuklar 'vigenere içinde, bu kod satırı olduğunu size 1522 01:09:38,430 --> 01:09:42,010 adamlar belki, belki sen misin çalışan gerçekten doing-- olduğunu bilmiyordum 1523 01:09:42,010 --> 01:09:46,910 Bu ./generate 1000 boru ./42. 1524 01:09:46,910 --> 01:09:47,510 Sağ? 1525 01:09:47,510 --> 01:09:51,100 >> Bu nedenle tüm yapıyor ki biz eğer sadece adım bu adımda bir göz atın, 1526 01:09:51,100 --> 01:09:55,870 ./generate, ben olduğum anlamına benim program oluşturmak çalışıyor. 1527 01:09:55,870 --> 01:09:58,850 Bu onun girişinde 1.000 alıyor. 1528 01:09:58,850 --> 01:10:03,330 Yani rastgele 1.000 oluşturmak istiyorum sayılar ve ben boruya gidiyorum ki- 1529 01:10:03,330 --> 01:10:07,790 ya da ben ki- çıkış kullanmak için gidiyorum bulmak denilen benim program için girdi olarak. 1530 01:10:07,790 --> 01:10:12,110 Ve ben dışarı 42 bulmaya gidiyorum Bu 1,000 ila oluşturduğu rakamlar 1531 01:10:12,110 --> 01:10:13,130 sayılar. 1532 01:10:13,130 --> 01:10:15,410 Kod bu çizginin yapar mı herkese duygusu? 1533 01:10:15,410 --> 01:10:17,820 >> Bu şekilde biz tasarruf ediyoruz Yani kendimizi adımlar bir ton. 1534 01:10:17,820 --> 01:10:21,880 Biz üretmek çalıştırmak zorunda değilsiniz, kaydetmek Dosya ve ardından bulmak koydu. 1535 01:10:21,880 --> 01:10:23,800 Biz bir satırda her şeyi sadece olabilir. 1536 01:10:23,800 --> 01:10:28,080 Yani, ne olursa olsun çıktısı üretmek bulmak için hemen geri plop. 1537 01:10:28,080 --> 01:10:28,580 Evet? 1538 01:10:28,580 --> 01:10:32,484 >> HEDEF KİTLE: Ve komuta açısından işte ki- satırı argümanları olduğunu 1539 01:10:32,484 --> 01:10:33,948 Üç komut satırı argümanları? 1540 01:10:33,948 --> 01:10:38,340 Bu, herhangi bir find--, dört-- oluşturmak var: , 1,000 bulmak ve 42 üretmek? 1541 01:10:38,340 --> 01:10:39,134 Ya Şeyin olduğunu 1542 01:10:39,134 --> 01:10:42,050 ANDI PENG: Boru yapar Yani gerçekten Bir komut satırı argümanı olarak saymak 1543 01:10:42,050 --> 01:10:44,590 derleyici nedeniyle veya Terminal o boruyu bilir, 1544 01:10:44,590 --> 01:10:48,590 oh, ben önce bakmak gerektiğini biliyoruz çünkü boru benim çıkış var 1545 01:10:48,590 --> 01:10:51,220 ve ben bakmak gerekir Boru bu benim girdi çünkü. 1546 01:10:51,220 --> 01:10:54,520 Yani ki- bilir ./generate ve 1000, 1547 01:10:54,520 --> 01:10:57,390 Bu iki komut daha sonra argümanlar vardır İlk program için. 1548 01:10:57,390 --> 01:11:01,760 Ve sonra ./find 42 iki komut vardır İkinci program için satırı argümanları. 1549 01:11:01,760 --> 01:11:02,980 Evet. 1550 01:11:02,980 --> 01:11:06,150 Herkes bu konuda iyi? 1551 01:11:06,150 --> 01:11:10,610 >> Yani sadece gerçek hızlı, olanı yapmak Bu kod üç satır mı? 1552 01:11:10,610 --> 01:11:11,606 Oldukça basit. 1553 01:11:11,606 --> 01:11:13,605 Herkes bana söylemek istiyorum İlk satır ne? 1554 01:11:13,605 --> 01:11:18,201 1555 01:11:18,201 --> 01:11:19,117 HEDEF KİTLE: [duyulamaz]. 1556 01:11:19,117 --> 01:11:23,540 1557 01:11:23,540 --> 01:11:26,534 >> ANDI PENG: sadece-- olarak düşünün daha fazla havuç ne yapıyor? 1558 01:11:26,534 --> 01:11:29,299 >> HEDEF KİTLE: Bir şey koyar Bir sonraki hattına. 1559 01:11:29,299 --> 01:11:31,090 ANDI PENG: Peki nedir Bunun tersi? 1560 01:11:31,090 --> 01:11:33,514 HEDEF KİTLE: Bir sonraki koyar İlk şeyin içine bir şey. 1561 01:11:33,514 --> 01:11:34,180 ANDI PENG: Evet. 1562 01:11:34,180 --> 01:11:37,550 Yani yapıyor tüm sen olduğunu Bir program çalıştıran .hello-- 1563 01:11:37,550 --> 01:11:40,010 merhaba adlı bir programı çalıştırıyorsunuz. 1564 01:11:40,010 --> 01:11:42,960 Bunu vermek için gidiyoruz Bir giriş input.txt adı. 1565 01:11:42,960 --> 01:11:43,460 Sağ? 1566 01:11:43,460 --> 01:11:46,250 Çünkü o kadar sadece düşünmek fiziksel merhaba girecek. 1567 01:11:46,250 --> 01:11:50,632 Ve sonra kurtarmak için gidiyoruz Bir dosyada çıktı çýktý.txt çağırdı. 1568 01:11:50,632 --> 01:11:51,715 Nasıl ikinci satırında ne dersiniz? 1569 01:11:51,715 --> 01:11:54,164 Bana söylemek istediğin şey İkinci satır yapar? 1570 01:11:54,164 --> 01:11:55,080 HEDEF KİTLE: [duyulamaz]. 1571 01:11:55,080 --> 01:12:00,522 1572 01:12:00,522 --> 01:12:01,230 ANDI PENG: Üzgünüm. 1573 01:12:01,230 --> 01:12:03,560 Tekrar söyle. 1574 01:12:03,560 --> 01:12:04,060 Elliot. 1575 01:12:04,060 --> 01:12:06,560 >> HEDEF KİTLE: Bu koyar Yani find içine numaraların listesi. 1576 01:12:06,560 --> 01:12:07,540 >> ANDI PENG: Evet. 1577 01:12:07,540 --> 01:12:10,790 Yani içinde, hatırlıyorum, bulmak Sipariş seni bulmak çalıştırmak için 1578 01:12:10,790 --> 01:12:13,209 Eğer aradığınız nerede olduğunu bilmek gerekir. 1579 01:12:13,209 --> 01:12:15,500 Ve bu yapıyor bu yüzden tüm bu burada size veriyor olması 1580 01:12:15,500 --> 01:12:18,720 önceden ayarlanmış İşlevsiz bir sayılar, o zaman gidiyor bulabilirsiniz 1581 01:12:18,720 --> 01:12:21,680 42 sayısı için bu arama. 1582 01:12:21,680 --> 01:12:23,620 Sonra 15. 1583 01:12:23,620 --> 01:12:25,870 Unutmayın, siz koştu bu ne zaman kodu test. 1584 01:12:25,870 --> 01:12:27,590 Şimdi bunu yaptığını anlamak mı? 1585 01:12:27,590 --> 01:12:31,069 1586 01:12:31,069 --> 01:12:33,520 >> HEDEF KİTLE: Bu koyarak oluyor Talimatlar seti 1587 01:12:33,520 --> 01:12:38,860 Bir üçe aracılığıyla [duyulamaz] için Üç Şeyin oyunu kazanmak için olsun. 1588 01:12:38,860 --> 01:12:39,560 >> ANDI PENG: Evet. 1589 01:12:39,560 --> 01:12:41,480 >> HEDEF KİTLE: Bu, bu girişler Programa talimatlar. 1590 01:12:41,480 --> 01:12:42,438 >> ANDI PENG: Oldukça fazla. 1591 01:12:42,438 --> 01:12:47,840 Yani tilde CS50. / Pset3 / 3x3, bütün bu yaptığını biz metni oluşturdu oldu 1592 01:12:47,840 --> 01:12:50,700 vardı dosyası, tüm Sizin için hazır başlıklar. 1593 01:12:50,700 --> 01:12:56,020 Oyun oynamak için Ve böylece, sadece-- Biz sadece sizin programa koymak. 1594 01:12:56,020 --> 01:12:58,230 Yani biz yarattığı bu Yönetim Kurulu ve sonra biz konum 1595 01:12:58,230 --> 01:13:02,890 Programınızın içine tahta koyarak işte bu koştu ve üç bir kiremit yarattı 1596 01:13:02,890 --> 01:13:03,390 üçe. 1597 01:13:03,390 --> 01:13:04,730 Yani yapıyordu hepsi bu. 1598 01:13:04,730 --> 01:13:07,331 >> Ve böylece aslında sihirli oldu perde arkasında oluyor 1599 01:13:07,331 --> 01:13:09,330 Siz olmadıkları Biz programlanan programı. 1600 01:13:09,330 --> 01:13:13,120 Ama şimdi siz neden anlamak böylece tüm iyi yaptım. 1601 01:13:13,120 --> 01:13:15,750 Pekala. 1602 01:13:15,750 --> 01:13:22,200 >> Yönlendirme çok iken Yani yararlıdır, Cı genel bir mekanizmaya sahip 1603 01:13:22,200 --> 01:13:25,030 okuma ve yazma için kendi dosyaları. 1604 01:13:25,030 --> 01:13:26,780 Hiçbir şey kavramsal Ben bu yüzden burada zor 1605 01:13:26,780 --> 01:13:28,330 sadece aracılığıyla gidecek Gerçekten, gerçekten hızlı. 1606 01:13:28,330 --> 01:13:30,621 O Bütün bazı ezber olduğunu ve emin adamlar yapıyor 1607 01:13:30,621 --> 01:13:32,680 sözdizimsel doğru kullanıyor. 1608 01:13:32,680 --> 01:13:35,640 Biz yapardım yoludur dosyası için bir başvuru oluşturun, 1609 01:13:35,640 --> 01:13:38,473 biz sonra biz dosyasını açın ve istediğiniz tüm okuma ve yazma yapacağını 1610 01:13:38,473 --> 01:13:39,929 ve sonra da dosyayı kapatın. 1611 01:13:39,929 --> 01:13:41,720 Ne zaman bir şey siz akılda tutulması gereken İstediğiniz 1612 01:13:41,720 --> 01:13:47,360 Çünkü, bunu yaparken o biz kapanış ve dosyaları açılıyor 1613 01:13:47,360 --> 01:13:51,230 Bu komutların tüm dahildir Standart standard-- I / O 1614 01:13:51,230 --> 01:13:51,730 kütüphane. 1615 01:13:51,730 --> 01:13:54,410 Yani sen ne zaman emin olun Eğer included-- ettik Bunu yaparken 1616 01:13:54,410 --> 01:13:59,020 Standart I / O nokta h included-- #. 1617 01:13:59,020 --> 01:14:01,691 >> Hızlı bir şekilde gerçek. 1618 01:14:01,691 --> 01:14:03,940 Birinci adım, oluşturmak istediğiniz o dosyaya bir başvuru. 1619 01:14:03,940 --> 01:14:07,670 Ve biz bitti işaretçileri ettik şimdi, sen adamlar bana ne söyleyebilirim kod satırı o 1620 01:14:07,670 --> 01:14:08,630 yapıyor. 1621 01:14:08,630 --> 01:14:10,250 Sağ? 1622 01:14:10,250 --> 01:14:15,397 Bir yaratıyor yapıyor Tüm bu işaretçi tipi dosyasının dosya adını vermiştir. 1623 01:14:15,397 --> 01:14:17,980 Eğer gidiyor biliyorum çünkü Bir dosyaya işaret ve sen kadar 1624 01:14:17,980 --> 01:14:20,460 Dosyayı açmak için gidiyorum. 1625 01:14:20,460 --> 01:14:23,320 Sonra f open-- her şeysin bu dosyayı açmak etmez. 1626 01:14:23,320 --> 01:14:24,560 >> Bu dosya adıdır. 1627 01:14:24,560 --> 01:14:26,060 Ve yapabileceğiniz üç şey var. 1628 01:14:26,060 --> 01:14:28,195 Sen, okuma yazma veya ekleyebilirsiniz. 1629 01:14:28,195 --> 01:14:30,320 En genel, siz okurken veya yazarken olacak 1630 01:14:30,320 --> 01:14:33,195 ya olacaksın çünkü Bir dosya ya da girilmesi bir çıkış. 1631 01:14:33,195 --> 01:14:36,500 Yani hemen hemen r ve w ikisidir şeyler çoğu kullanıyor olacağız. 1632 01:14:36,500 --> 01:14:41,722 >> Yani bu durumda, yaptığım tek şey Dosya adında bir dosyaya bir işaretçi oluşturun. 1633 01:14:41,722 --> 01:14:47,900 Onu açıyorum ve ben ben değilim reading-- dosya.txt adlandırılan bu dosyayı açmadan 1634 01:14:47,900 --> 01:14:49,020 ve ben bunu okuyorum. 1635 01:14:49,020 --> 01:14:51,730 Ben bu noktada yapıyorum hepsi bu. 1636 01:14:51,730 --> 01:14:55,270 Ve daha sonra bu sadece fonksiyonları vardır Eğer farklı şeyler okuyabilirsiniz hangi 1637 01:14:55,270 --> 01:14:57,750 veya farklı şeyler yazmak ya da farklı yerlere atlamak 1638 01:14:57,750 --> 01:14:59,420 nereye bakmak istiyorum. 1639 01:14:59,420 --> 01:15:01,200 Tüm bunlar online. 1640 01:15:01,200 --> 01:15:02,960 Tüm bu sadece Google yapabilirsiniz. 1641 01:15:02,960 --> 01:15:04,280 Gerek yok, onları ezberlemek. 1642 01:15:04,280 --> 01:15:07,160 Onlar sadece oradayız, kullanımınız için tek kullanımlık 1643 01:15:07,160 --> 01:15:09,360 Eğer isterseniz bunları kullanmak mümkün. 1644 01:15:09,360 --> 01:15:13,210 >> Yani ben sadece okumak istedim her seferinde bir karakter, 1645 01:15:13,210 --> 01:15:15,360 Ben dosya fgetc yapardı. 1646 01:15:15,360 --> 01:15:18,850 Ben isteseydim ya bir çizgi okumak için Bir defada metin, ben fgets yapardı. 1647 01:15:18,850 --> 01:15:19,840 Ve benzeri ve benzeri. 1648 01:15:19,840 --> 01:15:23,640 Tüm bunlar sadece farklı yapmak şeyleri siz kullanabilirsiniz. 1649 01:15:23,640 --> 01:15:25,920 >> Ve son olarak, sonra şeyler okurken veya yazarken bitirdiğinizde, 1650 01:15:25,920 --> 01:15:27,770 Ben sadece bu dosyayı fclose gidiyorum. 1651 01:15:27,770 --> 01:15:31,760 Ve bu biri, unutmayın Bunların, lütfen unutmayın 1652 01:15:31,760 --> 01:15:34,220 Başka dosya bunu ya işe gitmiyor. 1653 01:15:34,220 --> 01:15:36,130 Daima önce dosyayı açmak okuma veya okuma, 1654 01:15:36,130 --> 01:15:38,310 Her zaman var Eğer açarsanız kapatın. 1655 01:15:38,310 --> 01:15:40,210 Bellek ile Aynı şey, değil mi? 1656 01:15:40,210 --> 01:15:42,390 Hep almak zorunda Bellek ve ücretsiz. 1657 01:15:42,390 --> 01:15:45,200 Burada her zaman açmak zorunda okumak denemeden önce dosya 1658 01:15:45,200 --> 01:15:47,360 ve her zaman var açtıktan sonra kapatın. 1659 01:15:47,360 --> 01:15:50,650 1660 01:15:50,650 --> 01:15:52,190 >> Yani bu online da. 1661 01:15:52,190 --> 01:15:55,590 Ben sizi meydan gidiyorum tür ki baskılar bir program yazmak 1662 01:15:55,590 --> 01:15:57,080 Bir dosyaya hello.world. 1663 01:15:57,080 --> 01:15:58,280 Gerçekten basit. 1664 01:15:58,280 --> 01:16:00,854 Aslında sadece içerir kod birkaç satır 1665 01:16:00,854 --> 01:16:02,270 bu sadece daha önce yazılmıştı. 1666 01:16:02,270 --> 01:16:04,311 Sen onları koymak için gidiyoruz Birlikte ve yazma. 1667 01:16:04,311 --> 01:16:06,630 1668 01:16:06,630 --> 01:16:10,950 >> Yani bazı önemli şeyler akılda tutulması gereken Senin ise çocuklar bu kullanmaya çalışıyorlar. 1669 01:16:10,950 --> 01:16:14,410 Bu hepsi çok yararlı ise senin pset bu hafta, 1670 01:16:14,410 --> 01:16:18,000 fopen Bir dosya işaretçisi yaratmasıdır. 1671 01:16:18,000 --> 01:16:19,500 Aslında fiziksel dosya değil. 1672 01:16:19,500 --> 01:16:22,260 Tüm bu işaret ediyor Açmak istediğiniz dosya. 1673 01:16:22,260 --> 01:16:26,070 Ve aslında sen, ne zaman Diğer fonksiyonlardan herhangi kullanıyorsanız 1674 01:16:26,070 --> 01:16:30,130 fread veya fwrite gibi ya fgetc ya fgets olduğu 1675 01:16:30,130 --> 01:16:33,380 Eğer sadece bu çevrede geçen olduğunuzu Bu fonksiyonların tüm işaretçisi. 1676 01:16:33,380 --> 01:16:36,510 Yani aslında almıyorsun dosya ve işlevleri için kullanmaya, 1677 01:16:36,510 --> 01:16:39,540 Sadece işaretçi alıyorsun ve bu fonksiyonlara koyarak 1678 01:16:39,540 --> 01:16:41,620 kullanabilirsiniz, böylece. 1679 01:16:41,620 --> 01:16:45,360 >> Ve Kapatmak unutursanız dosya bunu kullandıktan sonra, 1680 01:16:45,360 --> 01:16:47,710 program bellek sızdırıyor gidiyor. 1681 01:16:47,710 --> 01:16:50,700 Esasen, bütün bu araçlar kötü şeyler olacak ki 1682 01:16:50,700 --> 01:16:52,960 ve program olacak düzgün çalışmayabilir. 1683 01:16:52,960 --> 01:16:54,880 Ve böylece pset üzerinde başlangıcı, bence 1684 01:16:54,880 --> 01:16:59,180 O explained-- yerde kısa var Nate Valgrind ne explained--. 1685 01:16:59,180 --> 01:17:02,350 Valgrind All sizin için bir yoldur Eğer bellek sızıntısı değil emin olun. 1686 01:17:02,350 --> 01:17:04,433 Yani siz yapmak istiyorsanız Emin kısa olduğunu izlemek 1687 01:17:04,433 --> 01:17:08,771 o kadar açıklıyor, çünkü Gerçekten de ne olur. 1688 01:17:08,771 --> 01:17:09,270 TAMAM. 1689 01:17:09,270 --> 01:17:11,260 Yani, gerçekten geçti gerçekten hızlı çünkü ben gerçekten 1690 01:17:11,260 --> 01:17:13,870 bahsediyoruz almak istiyorum pset siz ayrılmadan önce. 1691 01:17:13,870 --> 01:17:16,690 Herkes kavramsal sorunuz var mı? 1692 01:17:16,690 --> 01:17:20,060 Çoğunlukla tüm bu sadece sözdizimi olduğunu Dosyaları okumak veya yazmak için kullanabilirsiniz. 1693 01:17:20,060 --> 01:17:25,090 1694 01:17:25,090 --> 01:17:28,140 >> Son olarak, herkesin favori. 1695 01:17:28,140 --> 01:17:31,760 Biz şimdi pset hakkında konuşmak için gidiyoruz. 1696 01:17:31,760 --> 01:17:35,990 Yani, ellerin gösterisi, nasıl birçok Siz bu hafta spec okudun mu? 1697 01:17:35,990 --> 01:17:36,660 Oh, bu yarısı. 1698 01:17:36,660 --> 01:17:38,000 Bu iyi. 1699 01:17:38,000 --> 01:17:41,430 Yani bu, gerçekten aslında bir olduğunu anlamda gerçekten eğlenceli pset 1700 01:17:41,430 --> 01:17:43,889 Eğer gibi hissediyorum dedektif sen çünkü 1701 01:17:43,889 --> 01:17:46,930 Tüm bu gerçekten harika şeyler yapıyor Eğer yapabileceğini bilmediğini 1702 01:17:46,930 --> 01:17:49,050 ama şimdi gerçekten harika Onları yapabilirsiniz. 1703 01:17:49,050 --> 01:17:52,400 Ve aslında bir çok şey Siz düşündüğünden daha basit. 1704 01:17:52,400 --> 01:17:56,640 >> Yani temel yarısı Bu program, sen vardır 1705 01:17:56,640 --> 01:18:00,330 kaynak kodunu indirmek için gidiyoruz ya da Dağıtım kodu bizim tarafımızdan yazılmış. 1706 01:18:00,330 --> 01:18:03,540 Ve bir klasör için gidiyoruz denilen BMP ve başka bir klasör 1707 01:18:03,540 --> 01:18:05,550 JPG aradı. 1708 01:18:05,550 --> 01:18:08,370 Senin BMP içinde, sen Üç programları olacak. 1709 01:18:08,370 --> 01:18:10,400 Bunlardan biri zaten sizin için yazılmıştır. 1710 01:18:10,400 --> 01:18:12,477 Böylece copy.c bir programdır biz zaten yazdım 1711 01:18:12,477 --> 01:18:14,060 Sizin için indirmek için gidiyoruz. 1712 01:18:14,060 --> 01:18:19,440 Yaptığı tüm bir resim girişi olarak almak olduğunu ve çıkış olarak bir kopyasını yapar. 1713 01:18:19,440 --> 01:18:22,150 Yani bütün bu dosya yapıyor bulunuyor. 1714 01:18:22,150 --> 01:18:25,260 >> Ama sizin için ne yapmak istediğinizi whodunit-- Seninle çok kaç 1715 01:18:25,260 --> 01:18:30,450 çocuklar beşinci sınıftan veya belki-- hatırlıyorum Eğer, belki üçüncü sınıf younger-- ediyoruz 1716 01:18:30,450 --> 01:18:33,945 Siz gizli mesajlar vardı ve bunun üzerine bir parça kağıt koymak zorunda 1717 01:18:33,945 --> 01:18:35,440 mesajı çözmek için? 1718 01:18:35,440 --> 01:18:36,000 Evet? 1719 01:18:36,000 --> 01:18:39,580 Yani biz yapıyoruz hepsi Bir bilgisayar için bu süre dışında. 1720 01:18:39,580 --> 01:18:41,832 Yani biz bu güzel görüntüyü verdik. 1721 01:18:41,832 --> 01:18:43,540 Gibi görünmüyor altında bir şey ama 1722 01:18:43,540 --> 01:18:49,660 size yardımcı olacak bir ipucudur soruya cevap biz istiyoruz. 1723 01:18:49,660 --> 01:18:54,170 >> Esasen ne istediğinizi dosya girişi yapmak için, 1724 01:18:54,170 --> 01:18:56,610 etrafında bazı şeyler çimdik, belki renkleri ayarlamak, 1725 01:18:56,610 --> 01:19:00,730 şeyler kayması böylece ne mesajı yoluyla gelebilir olduğunu. 1726 01:19:00,730 --> 01:19:03,740 Yani içeride gizli piksel ve bilgi 1727 01:19:03,740 --> 01:19:07,140 Bu doğru kodunuzu yazarsanız çözmek ve size anlatacak 1728 01:19:07,140 --> 01:19:08,500 Bu ipucu nedir. 1729 01:19:08,500 --> 01:19:12,480 Ve bu yüzden bazı yararlı ipuçları olarak nasıl Bu yaklaşırken hakkında gitmek istiyorum. 1730 01:19:12,480 --> 01:19:15,180 >> Gerçekten tanıtmak istiyorum Dosya I kendinizi G / Ç 1731 01:19:15,180 --> 01:19:18,760 Biz okuma çünkü dosya ve dosyalara yazma. 1732 01:19:18,760 --> 01:19:19,260 Sağ? 1733 01:19:19,260 --> 01:19:21,430 Ve böylece biz ne zaman yapmak bu, bu içerir 1734 01:19:21,430 --> 01:19:25,170 I / O dosya. Sen gidiyorsun alışmak zorunda 1735 01:19:25,170 --> 01:19:27,450 ile, nasıl resim dosyalarını açmak mı? 1736 01:19:27,450 --> 01:19:29,960 Nasıl resim gibi dosyaları için yazıyorsunuz? 1737 01:19:29,960 --> 01:19:31,640 Nasıl o şeylerin hepsini yapacağız? 1738 01:19:31,640 --> 01:19:33,660 Bu gerçekten yararlı olacak. 1739 01:19:33,660 --> 01:19:36,190 >> İkincisi, nasılsın değiştirmek mümkün olacak 1740 01:19:36,190 --> 01:19:38,140 Bu resmi temizlemek renkler? 1741 01:19:38,140 --> 01:19:43,660 Muhtemelen dahil olacak senin piksel ya da RGB değerlerini ayarlayarak 1742 01:19:43,660 --> 01:19:45,390 yerde esasen orada. 1743 01:19:45,390 --> 01:19:47,800 Hiçbir doğru yol ve var Senin sürece bu çözümü 1744 01:19:47,800 --> 01:19:52,560 sürece olabildiğince tür olarak can-- bunu yapmak için bu pikselleri ayarlayın 1745 01:19:52,560 --> 01:19:54,640 Eğer umurunda şey gibi görünüyor. 1746 01:19:54,640 --> 01:19:56,207 Yani biz de umurumda hepsi bu. 1747 01:19:56,207 --> 01:19:57,540 Peki bunu yapmak için birçok yol var. 1748 01:19:57,540 --> 01:20:00,039 Sadece kadar onunla oynamak Eğer çalışan bir şey olsun. 1749 01:20:00,039 --> 01:20:02,900 Ve gerçekten olurdu kod sürpriz nasıl birkaç satır 1750 01:20:02,900 --> 01:20:04,510 Aslında bunu yapmak gerekir. 1751 01:20:04,510 --> 01:20:08,700 Ben üç gibi konuşuyorum Kod toplam hatları 1752 01:20:08,700 --> 01:20:11,310 Yazmak gerektiğini sırayla bunu. 1753 01:20:11,310 --> 01:20:15,470 Eğer kendinizi bulmak Yani eğer 40 yazma, kod 30 satır, 1754 01:20:15,470 --> 01:20:16,960 muhtemelen yanlış yapıyorsun. 1755 01:20:16,960 --> 01:20:19,390 Yapmanız gereken her türlü biridir renkleri ile oynamak 1756 01:20:19,390 --> 01:20:22,960 ve dışarı nasıl çalıştığını görmek. 1757 01:20:22,960 --> 01:20:27,040 >> Öyleyse biz biraz kafa Bir sorun daha için. 1758 01:20:27,040 --> 01:20:30,190 Burada yeniden boyutlandırma var nerede size soruyoruz 1759 01:20:30,190 --> 01:20:34,210 aşağıdaki amaçlara biz girdi olarak size veriyoruz Bir resim ve boyutlandırma 1760 01:20:34,210 --> 01:20:36,710 içine bir şey bu görüntü büyük veya küçük bir şey 1761 01:20:36,710 --> 01:20:38,500 Biz size boyutlarına bağlıdır. 1762 01:20:38,500 --> 01:20:41,260 Yani derste hatırlıyorum David hızlı bir şekilde 1763 01:20:41,260 --> 01:20:45,780 nasıl bilgi gezdirirken Bilgisayarlarınız tarafından tespit edilir 1764 01:20:45,780 --> 01:20:47,590 bu dosyanın bir tür demek için. 1765 01:20:47,590 --> 01:20:50,530 Yani bir Word dosyası özel sahiptir Bunun önündeki karakterleri 1766 01:20:50,530 --> 01:20:52,040 Bir Word dosyası var bilgisayarınızı söyle. 1767 01:20:52,040 --> 01:20:53,090 Bir JPEG ile aynı şey. 1768 01:20:53,090 --> 01:20:55,131 Bu durumda biz gidiyoruz Size bir JPEG dosyası vermek. 1769 01:20:55,131 --> 01:20:58,300 Bildiğimiz tek şey JPEG Dosya, doğru bir resim mi? 1770 01:20:58,300 --> 01:21:01,430 Ama bilgisayar ayıran çok özel yollarla bu. 1771 01:21:01,430 --> 01:21:04,070 Başında So Herhangi bir JPEG dosyası, sen 1772 01:21:04,070 --> 01:21:08,210 Bitmap denen sahip oluyor bilgi başlık ve bitmap dosya başlığı. 1773 01:21:08,210 --> 01:21:11,080 Tüm bu are Farklı veri parçaları 1774 01:21:11,080 --> 01:21:14,870 Bu, hey, bilgisayarınızı söyle dinleyin, bir JPEG geliyor 1775 01:21:14,870 --> 01:21:17,820 ve bu boyutlar veya Bu JPEG özellikleri. 1776 01:21:17,820 --> 01:21:21,280 >> Yani siz gerçekten bilmek istiyorum hangi bilgilerin içinde saklanır 1777 01:21:21,280 --> 01:21:23,560 Bu başlıkların ve Bunların boyutu budur. 1778 01:21:23,560 --> 01:21:25,640 Çalıştırdığınız yaparken Çünkü program sayesinde, 1779 01:21:25,640 --> 01:21:27,370 istediğiniz gidiyoruz Bu miktarın üzerinde atlayın. 1780 01:21:27,370 --> 01:21:27,940 Sağ? 1781 01:21:27,940 --> 01:21:29,910 Eğer umurumda değil, çünkü başlık değiştirmeyle ilgili, 1782 01:21:29,910 --> 01:21:31,493 Eğer sonra ne değiştirmeyle ilgili önemsiyorum. 1783 01:21:31,493 --> 01:21:32,450 Sağ? 1784 01:21:32,450 --> 01:21:36,040 Yani emin adamlar biliyor yapmak ne kadar büyük olan şeylerdir. 1785 01:21:36,040 --> 01:21:39,065 >> İkincisi, daha önce Başlamadan resminizi yeniden boyutlandırmak için çalışıyor, 1786 01:21:39,065 --> 01:21:41,940 Muhtemelen istediğiniz gidiyoruz orijinal boyutlarını kaydedebilirsiniz. 1787 01:21:41,940 --> 01:21:42,520 Sağ? 1788 01:21:42,520 --> 01:21:45,550 Ben bu resmi size Çünkü eğer 100 x 100 piksel olduğunu 1789 01:21:45,550 --> 01:21:47,630 ve ben seni yapmak istiyorum dört kat daha büyük, 1790 01:21:47,630 --> 01:21:50,460 Eğer var olduğunu biliyorum dörde bu boyutları çarpın. 1791 01:21:50,460 --> 01:21:54,960 Yani o zaman bir çıkış dosyası istiyorum Örneğin 400 piksel, 400. 1792 01:21:54,960 --> 01:21:58,300 Yani Sizin çocuklar için gerçekten yararlı orijinal boyutlarını kaydedebilirsiniz. 1793 01:21:58,300 --> 01:22:00,780 Ve sonrasında da, sonra Eğer yeniden boyutlandırma bittiğinde, 1794 01:22:00,780 --> 01:22:06,270 Eğer yeni başlıklar yazabilirsiniz yeniden boyutlandırma sonra bu yeni boyutlar. 1795 01:22:06,270 --> 01:22:10,750 >> Ve yolu, fiziksel Büyük piksel oluşturabilirsiniz 1796 01:22:10,750 --> 01:22:13,380 yazabilirsiniz olduğunu Yeni RGB--, RGB hatırlıyorum 1797 01:22:13,380 --> 01:22:17,784 tüm yeşil, kırmızı için duruyor, ve bir takım dosyasına blue-- piksel. 1798 01:22:17,784 --> 01:22:20,200 Ve istediğiniz gidiyoruz Neyin farklı miktarlarda 1799 01:22:20,200 --> 01:22:21,200 Biz dolgu diyoruz. 1800 01:22:21,200 --> 01:22:24,780 Tüm dolgu isimli alanlardır öncesi ve sonrası resimler 1801 01:22:24,780 --> 01:22:29,265 Bu, esas olarak Senin- haber ne kadar büyük o resmini söylemek 1802 01:22:29,265 --> 01:22:30,589 gerekir yukarı alarak. 1803 01:22:30,589 --> 01:22:33,630 Bu bir sürü için çok soyut Eğer, pset spec okumamış varsa 1804 01:22:33,630 --> 01:22:35,410 ama olacak zaman için çok yararlı 1805 01:22:35,410 --> 01:22:36,460 Aslında bu kadar okuyorsun. 1806 01:22:36,460 --> 01:22:38,126 Oh, evet, mantıklı gibi sen değilsin. 1807 01:22:38,126 --> 01:22:39,310 Neden bunu yapmak zorunda mı? 1808 01:22:39,310 --> 01:22:41,830 Mantıklı. 1809 01:22:41,830 --> 01:22:46,900 >> Son olarak, bu muhtemelen biridir En sinir bozucu programlar 1810 01:22:46,900 --> 01:22:51,160 Hiç adil yapamazsın, çünkü bu çalışma ya da değilse söyle. 1811 01:22:51,160 --> 01:22:54,980 Kurtarmak Bütün bu program, yapıyor ki düzgün çalışması halinde, 1812 01:22:54,980 --> 01:22:59,290 aniden gerekir 50 görüntüleri kurtarmak olduğunu 1813 01:22:59,290 --> 01:23:01,025 Bizim sabit diskte kaybedildi. 1814 01:23:01,025 --> 01:23:03,900 Bu program ile Ve böylece sorun Eğer gerçekten bunu test değil ki 1815 01:23:03,900 --> 01:23:06,220 Ya iyileşti çünkü Onları ya da yoktu. 1816 01:23:06,220 --> 01:23:09,122 Ve böylece tür sadece onunla oynamak zorunda 1817 01:23:09,122 --> 01:23:11,080 ve program ise Düzgün, sen edeceğiz çalışma 1818 01:23:11,080 --> 01:23:12,829 aniden görüyoruz Eğer ettik dizin 1819 01:23:12,829 --> 01:23:17,400 dev bir miktar var Şimdi orada resimler. 1820 01:23:17,400 --> 01:23:20,490 >> Yani yaklaşım nasıl Bu sorun, biz konum olduğunu 1821 01:23:20,490 --> 01:23:22,860 ne olduğunu vereceğim Bir card.raw dosya denir. 1822 01:23:22,860 --> 01:23:25,020 Esas olarak, bu var: sadece bozuk bir dosya 1823 01:23:25,020 --> 01:23:28,870 tüm resimler depolanan ile Eğer kurtarmak için ihtiyacımız olacak. 1824 01:23:28,870 --> 01:23:32,330 Yani muhtemelen istediğiniz gidiyoruz giriş için card.raw, veya açık, 1825 01:23:32,330 --> 01:23:35,510 senin card.raw dosyası ve konum işlemek istediğiniz olacak 1826 01:23:35,510 --> 01:23:37,840 o JPEG saklamak mümkün. 1827 01:23:37,840 --> 01:23:42,830 >> Yani, izleme ve depolanması başlamak istiyorum her JPEG sen bulmak o kadar. 1828 01:23:42,830 --> 01:23:47,180 Tek tek tüm gitmiyorsun aniden sadece 50 JPEG oluşturun. 1829 01:23:47,180 --> 01:23:50,190 Saklamak istediğiniz gidiyoruz Eğer açıyoruz kaç iz. 1830 01:23:50,190 --> 01:23:52,015 Ve sonra istediğiniz sen ne zaman, emin olun 1831 01:23:52,015 --> 01:23:54,640 Bir buffer-- yazma siz Ben neden bahsettiğimi bilecek 1832 01:23:54,640 --> 01:23:57,806 Eğer spec-- okumak kez istediğiniz Eğer imzasız kullanmakta olduğunuz emin olun 1833 01:23:57,806 --> 01:23:59,370 Char tampon. 1834 01:23:59,370 --> 01:24:01,790 >> Ve sonra sormak istiyorum Kendinizi sorusu, 1835 01:24:01,790 --> 01:24:05,797 Bir kaç bayt CF-- bir kart dosyasında bulunmaktadır? 1836 01:24:05,797 --> 01:24:08,380 Yani gidiyoruz kaç var senin tampona okumak istiyorum. 1837 01:24:08,380 --> 01:24:11,130 Sen emin olmak için gidiyoruz İki hizalama o zaman, çünkü 1838 01:24:11,130 --> 01:24:12,850 rastgele bellek dışarı sızması olmaz. 1839 01:24:12,850 --> 01:24:15,370 Tam olarak kaç biliyor byte İhtiyacınız ve kaç 1840 01:24:15,370 --> 01:24:18,270 Bunları yapmak istediğiniz bayt. 1841 01:24:18,270 --> 01:24:21,510 >> Ve sonunda, istediğiniz adında bir işlevi kullanın sprint-- 1842 01:24:21,510 --> 01:24:26,160 s baskı özel dosyası oluşturmak için F-- bulduğunuz her yeni JPEG için isimler. 1843 01:24:26,160 --> 01:24:29,129 Oluşturduğunuz Yani ve Kartınızın içinde JPEG bulmak, 1844 01:24:29,129 --> 01:24:31,170 istediğiniz gidiyoruz bunları saklamak ve onlara isim. 1845 01:24:31,170 --> 01:24:31,700 Sağ? 1846 01:24:31,700 --> 01:24:33,700 Ve böylece gidiyoruz Bu işlevi kullanmak istiyorum 1847 01:24:33,700 --> 01:24:36,770 adları oluşturmak için bu senin JPEG tüm saklayabilirsiniz. 1848 01:24:36,770 --> 01:24:41,062 >> Ve son olarak, kapatmak için unutma Her JPEG bitirdiniz sonra. 1849 01:24:41,062 --> 01:24:42,770 Sen çünkü ne yapacak sen olduğunu 1850 01:24:42,770 --> 01:24:44,728 Muhtemelen sahip oluyor Bir döngü çeşit olduğunu 1851 01:24:44,728 --> 01:24:46,470 senin JPEG tüm dolaşır. 1852 01:24:46,470 --> 01:24:50,460 Bir JPEG yazmak için gidiyoruz Onu bulmak gibi yeniden adlandırın. 1853 01:24:50,460 --> 01:24:52,870 Ama bitirdiniz sonra her JPEG, 1854 01:24:52,870 --> 01:24:56,630 Başlamadan böylece kapatmak gerekir üzerinde ve bir sonraki resme geçmek. 1855 01:24:56,630 --> 01:24:58,880 Ve böylece bu şey o biz yapmak gibi gerçekten eğlenceli, 1856 01:24:58,880 --> 01:25:03,430 Çünkü bu tür bir garip sorun set aynı zamanda tatmin edici bir sorun, weirdly 1857 01:25:03,430 --> 01:25:08,380 setidir resimlerin tüm bu biz düzgün kurtarmak eğer sizin için var, 1858 01:25:08,380 --> 01:25:11,910 tüm resimler resimleri vardır harika öğretim elemanı, hem 1859 01:25:11,910 --> 01:25:14,240 Harvard, en burada-- ve burada Yale'de. 1860 01:25:14,240 --> 01:25:17,260 Ve sen ne olursa Bütün bu resimleri kurtarmak 1861 01:25:17,260 --> 01:25:20,020 ve personel tanımlamak Bu kartların üyeleri, 1862 01:25:20,020 --> 01:25:23,040 ve eğer bize sahip selfies almak Eğer kampüs çevresinde bizi bulmak 1863 01:25:23,040 --> 01:25:28,270 Her fotoğraf bize göndermeniz için, biz olacak Dropbox alan bir gigabayt verir. 1864 01:25:28,270 --> 01:25:30,060 >> Yani burada matematik yapalım. 1865 01:25:30,060 --> 01:25:33,010 50 fotoğraf varsa ve 50 öğretim üyesi, 1866 01:25:33,010 --> 01:25:37,160 Tüm 50 arasında bulmak için ne Bize, yani Dropbox 50 gigabayt var 1867 01:25:37,160 --> 01:25:39,000 temelde, biz sizi vermek olacak. 1868 01:25:39,000 --> 01:25:42,380 Yani bazı ekstra eklenen teşvikler Siz olmasaydı sadece 1869 01:25:42,380 --> 01:25:44,480 kayıp görüntüleri kurtarma umurumda. 1870 01:25:44,480 --> 01:25:46,867 Bazı eklenen teşvikler de var. 1871 01:25:46,867 --> 01:25:47,825 Bu eğlenceli bir sorun kümesi var. 1872 01:25:47,825 --> 01:25:48,390 Gerçekten öyle. 1873 01:25:48,390 --> 01:25:51,980 Bu tür sinir bozucu ama sonra Eğer fark ettiklerinde gerçekten eğlenceli olur 1874 01:25:51,980 --> 01:25:54,230 vay, ben şimdi çalışıyor ve var Bu resimlerin hepsi var 1875 01:25:54,230 --> 01:25:55,604 ben sadece kendim yarattım. 1876 01:25:55,604 --> 01:25:58,800 1877 01:25:58,800 --> 01:26:00,075 >> Pset üzerinde herhangi bir sorunuz var mı? 1878 01:26:00,075 --> 01:26:02,408 Herkes için kim zaten başladı, sorularınız varsa, 1879 01:26:02,408 --> 01:26:06,510 Birkaç dakika sonra burada olacağım bölüm benimle konuşmak istiyorum. 1880 01:26:06,510 --> 01:26:07,320 Aferin, çocuklar. 1881 01:26:07,320 --> 01:26:10,520 Üzgünüm, ben bilgi size çocuklar dökülüyor. 1882 01:26:10,520 --> 01:26:13,670 Göstericiler, gerçekten, gerçekten zorlu ve sinir bozucu. 1883 01:26:13,670 --> 01:26:16,187 >> Ve ben gerçekten memnunum Siz benimle kaldı. 1884 01:26:16,187 --> 01:26:18,020 Biz derinlemesine daha fazla konuşacağız Gelecek hafta 1885 01:26:18,020 --> 01:26:21,330 Biz hash tabloları yapmaya başlayabilirsiniz olarak ve onları dahil daha fazla işlevleri. 1886 01:26:21,330 --> 01:26:23,821 1887 01:26:23,821 --> 01:26:24,320 Evet. 1888 01:26:24,320 --> 01:26:26,278 Kimse herhangi varsa Yani sorular, etrafta olacağım. 1889 01:26:26,278 --> 01:26:29,330 Geliyor ve daha fazla sürebilir için teşekkürler şeker daha fazla şeker var, çünkü. 1890 01:26:29,330 --> 01:26:32,220 1891 01:26:32,220 --> 01:26:33,770 Güzel. 1892 01:26:33,770 --> 01:26:35,765