1 00:00:00,000 --> 00:00:00,410 2 00:00:00,410 --> 00:00:03,130 >> DAVID J. MALAN: Belə çıxır ki, bir string çıxarmaq təxminən kimi deyil 3 00:00:03,130 --> 00:00:05,750 , primitiv çıxarmaq kimi sadə bir int və ya float kimi. 4 00:00:05,750 --> 00:00:09,190 Bütün sonra, başlıq altında bir string bir ardıcıllıqla simvol. 5 00:00:09,190 --> 00:00:13,130 Belə ki, bir string çıxarmaq, buna görə də, var ki, bütün ardıcıllıqla çıxarmaq cəlb 6 00:00:13,130 --> 00:00:14,240 simvol. 7 00:00:14,240 --> 00:00:17,470 >> Ki geri diqqət açın edək son həyata keçirilməsi və bu rip 8 00:00:17,470 --> 00:00:21,470 line, string t, s bərabər olan aydın kifayət deyil. 9 00:00:21,470 --> 00:00:24,440 Nin xətti ilə əvəz edək ki, bu kimi əvəzinə, görünür. 10 00:00:24,440 --> 00:00:34,020 String t string uzunluğu və malloc alır bir char s plus 1 dəfə ölçüsü. 11 00:00:34,020 --> 00:00:36,320 >> İndi gedir bir az quote var kodu bu xətt üzrə. 12 00:00:36,320 --> 00:00:39,330 Birincisi, malloc, qısa üçün yaddaş ayrılması və 13 00:00:39,330 --> 00:00:40,700 funksiyası yalnız edir. 14 00:00:40,700 --> 00:00:44,740 Bir tam nəzərə alaraq, sizi qaytarır xatirəsinə bir yığın ünvanı 15 00:00:44,740 --> 00:00:45,960 ki, bir çox bytes. 16 00:00:45,960 --> 00:00:50,090 Eyni zamanda, simli s uzunluğu plus 1 biz istəyirəm ki, qeyd üçün nəzərdə tutulur 17 00:00:50,090 --> 00:00:54,690 s artıq tutur kimi bir çox bytes, onun null terminator, o cümlədən 18 00:00:54,690 --> 00:00:57,050 bir simli sonunda backslash 0. 19 00:00:57,050 --> 00:01:00,170 >> Eyni zamanda, mən mütləq xatırlamıram bir char hətta, nə qədər böyük 20 00:01:00,170 --> 00:01:04,340 ən sistemi sadəcə 1 var baxmayaraq byte, belə ki, mən char ölçüsü zəng edəcəyik 21 00:01:04,340 --> 00:01:08,210 dinamik anlamaq necə böyük fərdi xarakter. 22 00:01:08,210 --> 00:01:12,550 Sonra birlikdə vurulur, mən geri Mən lazımdır ki bytes sayı. 23 00:01:12,550 --> 00:01:14,680 >> Amma malloc nə etmədikdə biz lazım olan yaddaş geri? 24 00:01:14,680 --> 00:01:16,730 Aşağıdakı kimi mən yaxşı ki, kontrol ediyorum. 25 00:01:16,730 --> 00:01:23,330 T null bərabərdir, onda mən ilk gedirəm pulsuz s, yaddaş almaq geri 26 00:01:23,330 --> 00:01:27,120 string, sonra mən gedirəm səhv demek üçün, 1 qayıtmaq. 27 00:01:27,120 --> 00:01:30,360 >> Bütün yaxşı olsa, mən davam gedirəm dörd loop istifadə və təkrarlamaq 28 00:01:30,360 --> 00:01:31,110 aşağıdakı kimi. 29 00:01:31,110 --> 00:01:36,000 Int i 0, n bərabərdir almaq s simli uzunluğu. 30 00:01:36,000 --> 00:01:40,350 Mən belə uzun i kimi bunu gedirəm daha az və ya n bərabər ki, mən 31 00:01:40,350 --> 00:01:44,460 vasitəsilə və o cümlədən təkrarlamaq ə null xitam xarakter. 32 00:01:44,460 --> 00:01:47,450 >> Və hər iteration, mən i arttırmayı olacaq. 33 00:01:47,450 --> 00:01:52,496 Eyni zamanda, bu loop daxilində, surəti T i-ci daxil s i-ci xarakter 34 00:01:52,496 --> 00:01:59,310 yeri, bu t etmək kifayətdir bracket i s bracket i alır. 41 00:01:59,320 --> 00:02:02,750 >> Indi, saxlamaq tərtib edək, və Bu yeni proqram axır. 42 00:02:02,750 --> 00:02:06,690 Copy 1 dot çizgi surəti 1 olun. 43 00:02:06,690 --> 00:02:09,460 Mən bir şey kimi demək lazımdır salam bütün kiçik. 44 00:02:09,460 --> 00:02:12,280 Və təşəkkürlə, bu dəfə mənim orijinal dəyişməz olaraq qalır. 45 00:02:12,280 --> 00:02:13,660 salam bütün kiçik. 46 00:02:13,660 --> 00:02:15,540 Amma surəti, həqiqətən, kapitallaşdırılmış edir. 47 00:02:37,120 --> 00:02:38,963