DAVID J. Malan: Kwa hiyo zinageuka kuwa kuiga kamba si karibu kama rahisi kama kuiga kale, kama int au kuelea. Baada ya yote, chini ya kofia string ni wahusika mlolongo. Hivyo kuiga kamba, kwa hiyo, ina kuhusisha kuiga kwamba mlolongo wa wahusika. Hebu kugeuka mawazo yetu nyuma na kwamba mwisho utekelezaji na mpasuko nje hii line, kamba t sawa na s, ambayo wazi hakuwa kutosha. Hebu badala yake na line kwamba inaonekana, badala yake, kama hii. Kamba t anapata malloc ya kamba urefu wa s plus 1 mara ukubwa wa char. Sasa kuna quote kidogo kwenda juu ya katika mstari huu wa kificho. Kwanza, malloc, short kwa ajili ya kumbukumbu mgao, na kazi gani tu. Kutokana na integer, kuirudisha kwenu barua pepe ya chunk ya kumbukumbu ya ka kwamba watu wengi. Wakati huo huo, kamba urefu wa s plus 1 ni maana ya zinaonyesha kwamba tunataka kama ka wengi kama s tayari inachukuwa, ikiwa ni pamoja na null Terminator yake, backslash 0 mwisho wa kamba. Wakati huo huo, mimi si lazima kumbuka jinsi kubwa char, hata ingawa juu ya mifumo ya ni tu 1 byte, hivyo mimi nitakuita ukubwa wa char kwa kufikiri dynamically jinsi kubwa tabia ya mtu binafsi ni. Mara baada ya kuyagawa pamoja, mimi kupata nyuma jumla ya idadi ya ka kwamba mimi haja. Lakini nini kama malloc inashindwa kurudi kumbukumbu tunahitaji? Ningependa bora kuangalia kwa kuwa kama ifuatavyo. Kama t sawa na null, basi mimi nina kwanza kwenda kwa bure, kumbukumbu akarudi na kupata kamba, na kisha mimi nina kwenda kurudi 1, kwa ishara ya makosa. Lakini, wote ni vizuri, mimi nina kwenda kwa kuendelea kutumia kitanzi nne na iterate kama ifuatavyo. Kwa int i kupata 0, n usawa kamba urefu wa s. Mimi nina kwenda kufanya hii muda mrefu kama i ni chini ya au sawa na n ili mimi iterate juu kupitia na ikiwa ni pamoja na null kuahirisha tabia katika s. Na juu ya kila iteration, mimi nina kwenda nyongeza i. Wakati huo huo, ndani ya kitanzi hii, nakala s ya i-th tabia ndani ya t ya i-th eneo, yatosha kufanya t bracket i anapata s bracket i. Ningependa bora kuongeza moja ya ziada line na kanuni yangu. Hasa, kwa sababu mimi sasa kutumia malloc, kuuliza kwa ajili ya kumbukumbu, ni yangu wajibu wa bure juu ya kumbukumbu wakati mimi nina kufanyika kwa hayo, kama vile sisi lazima kumkomboa kumbukumbu kwamba tuliyopewa na kupata kamba. Hivyo mwisho sana ya mpango huu, mimi nina kwenda kuongeza line moja ya ziada bure t kabla ya kurejea 0 zinaonyesha mafanikio. Hebu sasa kuokoa, kukusanya, na kuendesha mpango huu mpya. Kufanya nakala 1 dot slash nakala 1. Na mimi itabidi kusema kitu kama hujambo katika yote lowercase. Na nashiriki, wakati huu yangu awali bado kubadilika. hujambo katika yote lowercase. Lakini nakala ni kweli, mtaji.