>> DAVID J. MALAN: Niin käy ilmi, että kopiointi merkkijono ei ole läheskään niin
vain kopioida primitiivinen, kuten int tai float.
Onhan alla huppu merkkijono on sekvenssi merkkiä.
Joten kopiointi merkkijono, on sen vuoksi liittyy kopiointi että koko sekvenssi
merkkiä.
>> Katsotaanpa kääntää huomion takaisin, että viime täytäntöönpanon ja repimään tämän
line, nuora t on s, joka selvästikään ollut riittävä.
Katsotaanpa korvata sen linjan, että näyttää sen sijaan, kuten tämä.
String t saa malloc merkkijonon pituuden s plus 1 kertaa koko char.
>> Nyt on lainaus vähän menee on tämän linjan koodia.
Ensinnäkin malloc, lyhyt muisti jakaminen, ja
toiminto tekee juuri sen.
Annetaan kokonaisluku, se palaa teille osoite kimpale muisti
että monet tavua.
Samaan aikaan merkkijonon pituus s plus 1 on tarkoitus osoittaa, että haluamme kuin
monta tavua kuin s on jo nyt, mukaan lukien sen null terminaattori,
kenoviivan 0 lopussa merkkijono.
>> Samaan aikaan, en välttämättä muista, kuinka iso merkki on, vaikka
vaikka useimmissa järjestelmissä se on yksinkertaisesti 1 tavu, joten soitan koko char
selvittää dynaamisesti kuinka suuri yksilöllisyyttä.
Kun kerrotaan yhdessä, palaan tavujen kokonaismäärä että tarvitsen.
>> Mutta entä jos malloc ei palauttaa muistiin tarvitsemme?
Olisin parasta tarkistaa, että seuraavat.
Jos t on null, niin olen ensimmäisenä menossa vapaaseen s, muisti palautetaan get
merkkijono, ja sitten aion palata 1, merkitsevän virhe.
>> Mutta jos kaikki on hyvin, aion jatkaa käyttää neljän silmukan ja kerrata
seuraavasti.
Int saan 0, n on merkkijonon pituus s.
Aion tehdä tätä niin kauan kuin i on pienempi tai yhtä suuri kuin n, jotta voin
kerrata läpi ja myös null päättyvät merkki s.
>> Ja jokaisen iteraation, olen menossa kasvattaa i.
Samaan aikaan sisällä tämän silmukan, kopioida s: n i: nnen merkin T: n i: nnen
sijainti, riittää tekemään t kiinnike i saa s kiinnike i.
>> Katsotaanpa nyt tallentaa, kääntää ja suorittaa tämän uuden ohjelman.
Tehdä kopio 1 dot slash 1 kappale.
Ja sanon jotain Hei kaikki pieniä.
Ja onneksi tällä kertaa minun alkuperäinen pysyy ennallaan.
Hei kaikki pieniä.
Mutta kopio on todellakin aktivoitu.