1 00:00:00,000 --> 00:00:00,410 2 00:00:00,410 --> 00:00:03,130 >> DAVID J. Malan: Kwa hiyo zinageuka kuwa kuiga kamba si karibu kama 3 00:00:03,130 --> 00:00:05,750 rahisi kama kuiga kale, kama int au kuelea. 4 00:00:05,750 --> 00:00:09,190 Baada ya yote, chini ya kofia string ni wahusika mlolongo. 5 00:00:09,190 --> 00:00:13,130 Hivyo kuiga kamba, kwa hiyo, ina kuhusisha kuiga kwamba mlolongo wa 6 00:00:13,130 --> 00:00:14,240 wahusika. 7 00:00:14,240 --> 00:00:17,470 >> Hebu kugeuka mawazo yetu nyuma na kwamba mwisho utekelezaji na mpasuko nje hii 8 00:00:17,470 --> 00:00:21,470 line, kamba t sawa na s, ambayo wazi hakuwa kutosha. 9 00:00:21,470 --> 00:00:24,440 Hebu badala yake na line kwamba inaonekana, badala yake, kama hii. 10 00:00:24,440 --> 00:00:34,020 Kamba t anapata malloc ya kamba urefu wa s plus 1 mara ukubwa wa char. 11 00:00:34,020 --> 00:00:36,320 >> Sasa kuna quote kidogo kwenda juu ya katika mstari huu wa kificho. 12 00:00:36,320 --> 00:00:39,330 Kwanza, malloc, short kwa ajili ya kumbukumbu mgao, na 13 00:00:39,330 --> 00:00:40,700 kazi gani tu. 14 00:00:40,700 --> 00:00:44,740 Kutokana na integer, kuirudisha kwenu barua pepe ya chunk ya kumbukumbu ya 15 00:00:44,740 --> 00:00:45,960 ka kwamba watu wengi. 16 00:00:45,960 --> 00:00:50,090 Wakati huo huo, kamba urefu wa s plus 1 ni maana ya zinaonyesha kwamba tunataka kama 17 00:00:50,090 --> 00:00:54,690 ka wengi kama s tayari inachukuwa, ikiwa ni pamoja na null Terminator yake, 18 00:00:54,690 --> 00:00:57,050 backslash 0 mwisho wa kamba. 19 00:00:57,050 --> 00:01:00,170 >> Wakati huo huo, mimi si lazima kumbuka jinsi kubwa char, hata 20 00:01:00,170 --> 00:01:04,340 ingawa juu ya mifumo ya ni tu 1 byte, hivyo mimi nitakuita ukubwa wa char kwa 21 00:01:04,340 --> 00:01:08,210 kufikiri dynamically jinsi kubwa tabia ya mtu binafsi ni. 22 00:01:08,210 --> 00:01:12,550 Mara baada ya kuyagawa pamoja, mimi kupata nyuma jumla ya idadi ya ka kwamba mimi haja. 23 00:01:12,550 --> 00:01:14,680 >> Lakini nini kama malloc inashindwa kurudi kumbukumbu tunahitaji? 24 00:01:14,680 --> 00:01:16,730 Ningependa bora kuangalia kwa kuwa kama ifuatavyo. 25 00:01:16,730 --> 00:01:23,330 Kama t sawa na null, basi mimi nina kwanza kwenda kwa bure, kumbukumbu akarudi na kupata 26 00:01:23,330 --> 00:01:27,120 kamba, na kisha mimi nina kwenda kurudi 1, kwa ishara ya makosa. 27 00:01:27,120 --> 00:01:30,360 >> Lakini, wote ni vizuri, mimi nina kwenda kwa kuendelea kutumia kitanzi nne na iterate 28 00:01:30,360 --> 00:01:31,110 kama ifuatavyo. 29 00:01:31,110 --> 00:01:36,000 Kwa int i kupata 0, n usawa kamba urefu wa s. 30 00:01:36,000 --> 00:01:40,350 Mimi nina kwenda kufanya hii muda mrefu kama i ni chini ya au sawa na n ili mimi 31 00:01:40,350 --> 00:01:44,460 iterate juu kupitia na ikiwa ni pamoja na null kuahirisha tabia katika s. 32 00:01:44,460 --> 00:01:47,450 >> Na juu ya kila iteration, mimi nina kwenda nyongeza i. 33 00:01:47,450 --> 00:01:52,496 Wakati huo huo, ndani ya kitanzi hii, nakala s ya i-th tabia ndani ya t ya i-th 34 00:01:52,496 --> 00:01:59,310 eneo, yatosha kufanya t bracket i anapata s bracket i. 41 00:01:59,320 --> 00:02:02,750 >> Hebu sasa kuokoa, kukusanya, na kuendesha mpango huu mpya. 42 00:02:02,750 --> 00:02:06,690 Kufanya nakala 1 dot slash nakala 1. 43 00:02:06,690 --> 00:02:09,460 Na mimi itabidi kusema kitu kama hujambo katika yote lowercase. 44 00:02:09,460 --> 00:02:12,280 Na nashiriki, wakati huu yangu awali bado kubadilika. 45 00:02:12,280 --> 00:02:13,660 hujambo katika yote lowercase. 46 00:02:13,660 --> 00:02:15,540 Lakini nakala ni kweli, mtaji. 47 00:02:37,120 --> 00:02:38,963