DAVID J. Malan: Għalhekk jirriżulta li ikkupjar string mhijiex kważi bħala sempliċi kemm ikkupjar primitive, bħal int jew float. Wara kollox, taħt il-barnuża string huwa karattri sekwenza. Allura ikkupjar string, għalhekk, għandu jinvolvu ikkupjar dik is-sekwenza sħiħa ta ' karattri. Ejja tagħti attenzjoni tagħna lura għal dak aħħar implimentazzjoni u RIP din line, t string ugwali i, li b'mod ċar ma kienx suffiċjenti. Ejja tibdilha ma 'linja li jistenna, minflok, bħal dan. String t gets malloc 'tul sensiela ta' i plus 1 darbiet id-daqs ta 'char. Issa hemm kwotazzjoni daqsxejn tmur fuq din il-linja tal-kodiċi. L-ewwel, malloc, qosra għall-memorja allokazzjoni, u l- funzjoni ma dan. Minħabba integer, dan jirritorna lill inti l- indirizz ta 'blokki ta' memorja ta ' li ħafna bytes. Sadanittant, it-tul sensiela ta 's plus 1 huwa maħsub biex jindika li rridu bħala ħafna bytes kif i diġà tokkupa, inkluż it-terminatur null tagħha, il- backslash 0 fl-aħħar ta 'sekwenza. Sadanittant, I mhux bilfors tiftakarx kemm hu kbir char huwa, anki għalkemm fuq bosta sistemi huwa sempliċiment 1 byte, so I ser sejħa daqs tal char li figura dinamiku kemm hu kbir karattru individwali huwa. Ladarba immultiplikat flimkien, niġi lura l- numru totali ta 'bytes li għandi bżonn. Imma x'jiġri jekk malloc jonqos milli jirritorna l-memorja għandna bżonn? I d aħjar jiċċekkja għal dan kif ġej. Jekk t tkun daqs null, allura jien l-ewwel ser għall ħielsa i, il-memorja lura minn get spag, u mbagħad jien ser ritorn 1, li turi l-iżball. Imma jekk kollox huwa tajjeb, jien ser tipproċedi li jużaw erba loop u jtenni kif ġej. Għal int i tikseb 0, n ugwali it-tul sensiela ta 's. Jien ser jagħmlu dan sakemm i huwa inqas minn jew ugwali għal n hekk li I jtenni up permezz ta 'u inkluż il- karattru li jtemm null s. U fuq kull iterazzjoni, jien se inkrement i. Sadanittant, ġewwa ta 'dan loop, kopja tal-karattru i-th fil-T i-th post, huwa biżżejjed li tagħmel t bracket i gets bracket s i. I d aħjar żid waħda addizzjonali linja għall-kodiċi tiegħi. B'mod partikolari, għaliex jien issa jużaw malloc, tistaqsi għall-memorja, huwa tiegħi responsabbiltà biex tilliberalizza li l-memorja meta jien jsir minnu, bħad aħna Għandu jiġi tillibera memorja li l- mogħtija lilna mill get string. Għalhekk fl-aħħar nett ta 'dan il-programm, jien se żżid linja waħda addizzjonali biex tilliberalizza t qabel jirritornaw 0 biex tindika suċċess. Ejja issa jiffranka, tiġbor, u run dan il-programm il-ġdid. Jagħmlu kopja kopja 1 dot slash 1. U jien ser ngħid xi ħaġa simili bonjour kollha zghar. U Thankfully, din id-darba tiegħi oriġinali tibqa 'mhux mibdula. bonjour kollha zghar. Imma l-kopja huwa, tabilħaqq, kapitalizzat.