DAVID J. Malan: Do rezultas ke kopiado ŝnuro ne estas preskaŭ tiel simpla kopiado primitiva, kiel int aŭ kaleŝego. Post ĉio, sub la kapuĉo ŝnureto estas vico gravuloj. Do kopiado ĉenon, do, devas engaĝi kopiado ke tuta sinsekvo de karakteroj. Ni turnu nian atenton reen al tiu lasta efektivigo kaj disfendos tiun linio, ŝnuro t egalas s, kiu klare ne estis sufiĉaj. Ni anstataŭigi ĝin per linio, kiu aspektas, male, kiel ĉi tio. String t gets malloc de korda longeco de s plus 1 fojojn la grando de tipo char. Nun tie estas citaĵo iomete irante sur ĉi tiu linio de kodo. Unue, malloc, mallongigo de la memoro atribuo, kaj la funkcio faras ĝuste tion. Donita entjero, ĝi revenas al vi la adreso de eron de memoro de ke multajn bitojn. Dume, la kordo longo de s plus 1 estas intencita indiki ke ni volas kiel multaj bitokoj kiel s jam okupas, inkluzive ĝia nula finilo, la backslash 0 je la fino de ŝnuro. Dume, mi ne nepre memori kiom granda estas char estas, eĉ kvankam en plej multaj sistemoj ĝi estas simple 1 bajto, do mi nomas grandecon de char al elkompreni dinamike kiom granda individua karaktero estas. Iam multiplikitaj kune, mi reiros al la totala nombro de bitokoj, ke mi bezonas. Sed kion se malloc malsukcesas redoni la memoro ni bezonas? Mi deziras bonan kontroli por ke kiel sekvas. Se t egalas null, tiam mi unue iri por liberaj s, la memoro revenis por get kordo, kaj tiam mi iros al revenu 1, por signifi eraro. Sed se ĉiuj estas bone, mi tuj pluiri uzi kvar loop kaj persisti kiel sekvas. Por int i get 0, n egaluloj la arĉa longo de s. Mi tuj faros ĉi tiom longe kiom mi estas malpli ol aŭ egala al n tiel ke mi persisti supren tra inkluzivas la nula finanta karaktero en s. Kaj je ĉiu ripeto, mi estas tuj pliigo i. Dume, ene de ĉi maŝo, kopii s la i-a karaktero en T i-a situo, tio sufiĉas al fari t krampo i gets s krampo i. Mi deziras bonan aldoni unu aldona linio por mia kodo. En aparta, ĉar mi nun uzas malloc, petante por memoro, estas mia respondecon liberigi ke memoro kiam mi agis kun ĝi, ĝuste kiel ni devus liberigi memoron tio donitaj al ni de get kordo. Do, je la fino de tiu programo, mi estas tuj aldoni unu plia linio liberigi t antaŭ reveni 0 por indiki sukceson. Ni nun savu, kompili, kaj kuri tiu nova programo. Faru kopion 1 dot oblikvo kopion 1. Kaj mi diras ion kiel saluton en ĉiuj minuskle. Kaj dankeme, ĉifoje mia originalo restas neŝanĝita. saluton en ĉiuj minuskle. Sed la kopio estas, ja, majuskle.