Дејвид Џ MALAN: Значи излегува дека копирање низа не е скоро како едноставно како копирање на примитивен, како int или плови. Впрочем, под хаубата низа е низа карактери. Значи копирање низа, според тоа, треба да вклучуваат копирање дека целата низа на карактери. Ајде да го свртиме нашето внимание назад кон тоа последните имплементација и rip од овој линија, стринг т еднаква s, што јасно е дека не е доволно. Ајде да се замени со една линија која изгледа, наместо тоа, вака. Стринг т добива Примерок од стринг должина на Кликнете ОК плус 1 пати поголема од големината на знак. Сега има понуда малку ќе во овој линија код. Прво, Примерок, кратки за меморија распределба, и функција не само тоа. Со оглед на цел број, ви се враќа на адресата на парче меморија на дека многу бајти. Во меѓувреме, стринг должина на ОК плус 1 има за цел да покаже дека сакаме како многу бајти е веќе зазема, вклучувајќи ги и нејзините null терминатор, на коса црта 0 на крајот на низа. Во меѓувреме, јас не мора да се сеќавам колку е голема знак е, дури и иако на повеќето системи тоа е едноставно 1 бајт, па јас ќе се јавам големина на знак за дознаам динамички колку е голема индивидуален карактер е. Откако множи заедно, ќе се вратам на вкупниот број на бајти што ми треба. Но, што ако не успее да Примерок се врати меморијата ни треба? Јас најдобро би се провери за што како што следи. Ако т еднаква на нула, тогаш јас сум прв ќе за бесплатно с, меморијата се врати од GET стринг, а потоа јас ќе одам да врати 1, за да се означи грешка. Но, ако се е во ред, јас ќе одам да се продолжи да се користи четири јамка и iterate како што следи. За int i добие 0, n еднаквите стрингот должина на коментарите. Одам да го направите ова толку долго како што е помалку од или еднакво на n, така што I iterate нагоре низ вклучувајќи го и нула раскинувањето лик во ОК. И на секоја итерација, јас сум ќе ми прираст. Во меѓувреме, во внатрешноста на оваа јамка, копија Кликнете ОК на i-тиот карактер во т на i-тата локација, доволно е да се направи t заградата јас добива на заградата јас. Јас најдобро би додадете еден дополнителен линија на мојот код. Особено, бидејќи јас сум сега користење Примерок, барајќи меморија, тоа е моја одговорност да се ослободи дека меморијата кога сум се направи со неа, само сакаме треба да се ослободи меморија, која е што ни се дава од страна добие стринг. Па на самиот крај на оваа програма, јас сум ќе додадете една дополнителна линија да се ослободи т пред да се врати 0 за да се покаже успех. Ајде сега спаси, состави, и ја извршите оваа нова програма. Направете копија 1 точка црта копија 1. И јас ќе кажам нешто како Здраво на сите мали букви. И за среќа, овој пат ми оригинални останува непроменет. Здраво на сите мали букви. Но копија е, всушност, капитализирани.