1 00:00:00,000 --> 00:00:00,410 2 00:00:00,410 --> 00:00:03,130 >> DAVID J. MALAN: Beraz, izarrekin bihurtzen da kate bat kopiatzea ez da ia 3 00:00:03,130 --> 00:00:05,750 primitibo bat kopiatzea bezain erraza, int edo mugikor bat bezala. 4 00:00:05,750 --> 00:00:09,190 Azken finean, kanpaia azpian katea sekuentzia karaktere bat da. 5 00:00:09,190 --> 00:00:13,130 Beraz, kate bat kopiatzeko, beraz, ditu inplikatzeko sekuentzia osoa duten kopiatzea 6 00:00:13,130 --> 00:00:14,240 pertsonaiak. 7 00:00:14,240 --> 00:00:17,470 >> Dezagun gure arreta piztu atzera horretara azken ezarpena eta erauzi daudelarik hau 8 00:00:17,470 --> 00:00:21,470 line, katea t berdin s, eta horrek argi eta garbi, ez zen nahikoa. 9 00:00:21,470 --> 00:00:24,440 Dezagun ordezkatu lerro batekin duen itxura, ordez, honela. 10 00:00:24,440 --> 00:00:34,020 Katea t lortzen katea luzera of malloc char baten tamaina ak plus 1 aldiz. 11 00:00:34,020 --> 00:00:36,320 >> Gaur egun, aurrekontua pixka bat joan kode-lerro honetan on. 12 00:00:36,320 --> 00:00:39,330 Lehenengoa, malloc, labur memoria esleipena, eta 13 00:00:39,330 --> 00:00:40,700 funtzioa ez hori bakarrik. 14 00:00:40,700 --> 00:00:44,740 Zenbaki oso bat eman, itzultzen duzun du! duen memoria zatia baten helbidea 15 00:00:44,740 --> 00:00:45,960 byte duten askok. 16 00:00:45,960 --> 00:00:50,090 Bien bitartean, kate s luzera gehi 1 ekarri nahi dugula adierazteko 17 00:00:50,090 --> 00:00:54,690 byte asko ak dagoeneko okupatzen gisa, Bere null amaierako du, esaterako, 18 00:00:54,690 --> 00:00:57,050 backslash 0 kate baten amaieran. 19 00:00:57,050 --> 00:01:00,170 >> Bien bitartean, ez dute zertan gogoratzen dut char bat zein handia da, are gehiago, 20 00:01:00,170 --> 00:01:04,340 sistema gehienetan, nahiz eta, besterik gabe, 1 byte, beraz char tamaina deitu dut 21 00:01:04,340 --> 00:01:08,210 irudikatu dinamikoki nola big banakako pertsonaia bat da. 22 00:01:08,210 --> 00:01:12,550 Behin biderkatu elkarrekin, itzuli dut guztira duten behar dut byte kopurua. 23 00:01:12,550 --> 00:01:14,680 >> Baina zer malloc huts egiten badu memoria behar dugu itzultzeko? 24 00:01:14,680 --> 00:01:16,730 Onena nuke hori egiaztatzeko ondokoa. 25 00:01:16,730 --> 00:01:23,330 T null berdin bada, orduan ez naiz lehen joan Doakoa da, memoria get by itzuli 26 00:01:23,330 --> 00:01:27,120 katea, eta gero noa joan itzuli 1, error adierazteko. 27 00:01:27,120 --> 00:01:30,360 >> Baina guztietan bada ondo, nik jarraitu egingo dut lau begizta bat erabili eta batetik bestera joateko 28 00:01:30,360 --> 00:01:31,110 honela. 29 00:01:31,110 --> 00:01:36,000 Int i get 0, n berdinen kate s luzera. 30 00:01:36,000 --> 00:01:40,350 Hori egin ahal izateko beraz, i da gisa noa baino gutxiago edo n berdina, beraz dut 31 00:01:40,350 --> 00:01:44,460 batetik bestera joateko gora bidez eta barne null amaierako s pertsonaia. 32 00:01:44,460 --> 00:01:47,450 >> Eta iterazio bakoitzean, naiz i Kontatzailea joan. 33 00:01:47,450 --> 00:01:52,496 Bien bitartean, begizta honen barruan kopiatu s i-garren pertsonaia t en i-garren sartu 34 00:01:52,496 --> 00:01:59,310 kokapena, t egiteko nahikoa parentesi i z parentesi i lortzen. 41 00:01:59,320 --> 00:02:02,750 >> Utzi gorde en orain, konpilatu, eta Programa berri hau exekutatu. 42 00:02:02,750 --> 00:02:06,690 Egin kopia 1 dot barra kopia 1. 43 00:02:06,690 --> 00:02:09,460 Eta ikusiko esan antzeko zerbait dut kaixo minuskulaz guztietan. 44 00:02:09,460 --> 00:02:12,280 Eta zorionez, oraingo honetan nire jatorrizko berdin mantenduko da. 45 00:02:12,280 --> 00:02:13,660 kaixo minuskulaz guztietan. 46 00:02:13,660 --> 00:02:15,540 Baina kopia da, hain zuzen ere, kapitalizatu. 47 00:02:37,120 --> 00:02:38,963