DAVID J. Malan: Nii selgub, et kopeerimine string ei ole kaugeltki nii lihtne kopeerida primitiivne, nagu int või veepinnal. Lõppude all kapuuts string on järjestus tähemärki. Nii kopeerimine string, seega peab kaasata kopeerimise et kogu jada tähemärki. Keerame meie tähelepanu tagasi, et viimane rakendamise ja rippida läbi selle line, string t võrdub s, mis selgelt ei piisa. Olgem asendada see joon, mis tundub hoopis niimoodi. String t saab malloc stringi pikkus s pluss 1 korda suurem char. Nüüd on tsitaat natuke läheb on selles rida koodi. Esiteks malloc, lühike mälu eraldamine ning funktsioon teeb just seda. Arvestades täisarv, tagastab teile aadress tüki mälu et paljud bytes. Vahepeal string pikkusega s pluss 1 on mõeldud näitama, et me soovime nagu palju baite kui te juba kasutab, sealhulgas null terminaator kurakriips 0 lõpus stringi. Vahepeal ma ei pruugi mäletan kui suur char on isegi kuigi enamikus süsteemides see on lihtsalt 1 bait, nii et ma helistan suurus char nuputada dünaamiliselt kui suur eripärasuse on. Kui koondatakse, ma tagasi baitide koguarvu, mida ma vajan. Aga kui malloc ei tagasi mälu vajame? Ma parim kontrollida, et järgmine. Kui t võrdub null, siis ma kõigepealt lähed tasuta s, mälu tagastatud get string, ja siis ma lähen tagasi 1, tähistamaks viga. Aga kui kõik on hästi, ma lähen edasi minna kasutada nelja silmuse ja kinnitada, järgmiselt. Sest int i saada 0, n on string pikkusega s. Ma teen seda nii kaua, kui ma ei väiksem või võrdne n nii, et ma kinnitada, kuni läbi ja sealhulgas null lõpetavale tegelane s. Ja iga iteratsiooni, ma olen läheb juurdekasvu i. Vahepeal sees see silmus, kopeerida s i-nda iseloomu arvesse t i-nda asukohta, piisab teha t sulg i saab s sulg i. Ma parim lisada üks täiendav line, et minu kood. Eelkõige sellepärast, et ma olen nüüd kasutades malloc, paludes mälu, see on minu kohustus vabastada, et mälu kui ma olen teinud seda, nii nagu me tuleks vabastada mälu, mis on meile antud get string. Nii et päris lõpus seda programmi, ma olen liidan üks lisarida tasuta t naasid 0, mis näitab edu. Olgem nüüd salvestada, koostada ja käivitada uus programm. Tee koopia 1 dot kaldkriipsuga koopia 1. Ja ma ütlen midagi tere kõik väiketähed. Ja õnneks, seekord minu originaal jääb samaks. tere kõik väiketähed. Aga koopia on tõepoolest kapitaliseeritud.