>> David J. MALAN: Így kiderül, hogy a másolás karakterlánc közel sem olyan
egyszerű másolás a primitív, mint egy int vagy float.
Végül is, a motorháztető alatt egy sor egy sorozat karakter.
Tehát másolása egy string, ezért meg kell magában másolás az egész sorozata
karaktereket.
>> Nézzük viszont a figyelmet vissza a utolsó végrehajtási és dobja ki ezt a
vonal, string t egyenlő s, ami nyilvánvalóan nem volt elegendő.
Nézzük cserélje ki a sort, amely úgy néz ki, hanem, mint ez.
Karakterlánc t kap malloc string hossza s plusz 1-szer akkora, mint egy char.
>> Most van idézet egy kicsit lesz az ebben a sorban a kódot.
Először is, malloc, rövid memória elosztását, valamint a
funkció pontosan ezt teszi.
Mivel egy egész számot, visszatér, hogy ha a címét egy darab memória
hogy hány bájt.
Eközben a húr hossza s plusz 1 célja, hogy azt jelzi, hogy szeretnénk, mint
hány bájt, mint s már foglal, beleértve a null terminátor, a
backslash 0 a végén a húr.
>> Közben én nem feltétlenül emlékszik milyen nagy karakter van még
bár a legtöbb rendszeren ez csak 1 byte, ezért hívom mérete char a
kitalálni, dinamikusan, milyen nagy egyéni jellege van.
Egyszer szorozva együtt kapok vissza bájtok számát, amire szükségem van.
>> De mi van, ha malloc nem vissza a memória van szükségünk?
Én a legjobb ellenőrizze, hogy az alábbiak szerint.
Ha t értéke null, akkor én először megyek a szabad s, a memória által visszaadott get
húr, aztán megyek vissza 1, jelezve a hibát.
>> De ha minden rendben van, megyek, hogy folytassa egy négy hurkot, majd annak variációi
a következők szerint.
Az int kapok 0, n értéke a húr hossza s.
Fogom csinálni, amíg én is kevesebb vagy egyenlő, mint az n, így én
ismételget egészen beleértve a null lezáró karakter s.
>> És minden egyes iterációban vagyok fog növekmény i.
Közben belül erre a ciklusra, másolás s i-edik karaktert t i-edik
helyet, elegendő, hogy nem t konzol i kap s konzol i.
>> Nézzük most menteni, fordítási és futtatni az új program.
Legyen másolatot 1 pont slash példány 1.
És mondok valamit, mint helló minden kisbetűvel.
És szerencsére, ez alkalommal a eredeti változatlan marad.
helló minden kisbetűvel.
De a másolat, sőt, aktivált.