>> Девід Дж. Малан: Ось і виходить, що копіювання рядка, не так
просто, як копіювання примітивний, як Int або поплавком.
Зрештою, під капотом рядком є символів послідовності.
Так копіювання рядка, тому, повинен залучати копіювання, що всю послідовність
символів.
>> Давайте звернемо увагу на тому, що в минулому впровадження і вирвати цей
лінія, рядок т дорівнює с, що явно не була достатньою.
Давайте замінимо його з лінією, яка виглядає, а не, як це.
Рядок т отримує Танос довжини рядки з S Plus 1 раз розміром з гольца.
>> Тепер є цитата трохи збирається в цьому рядку коду.
По-перше, Танос, короткі для пам'яті виділення і
Функція робить саме це.
Дано ціле число, то повертається до вас у адреса шматок пам'яті
що багато байт.
Тим часом, довжина рядки з 1 плюс покликана підкреслити, що ми хочемо, як
кількість байт з уже займає, в тому числі його нульове закінчення,
зворотний слеш 0 в кінці рядка.
>> Тим часом, я не обов'язково пам'ятати наскільки великий символ є, навіть
хоча в більшості систем це просто 1 байт, так що я буду називати розмір гольца в
з'ясувати, динамічно, наскільки велика індивідуальний характер.
Після помножене разом, я повернуся Загальне число байтів, що мені потрібно.
>> Але що, якщо Танос не в змозі повернути пам'ять ми повинні?
Я б краще перевірити, що в наступному.
Якщо т дорівнює нулю, то я спочатку збирався звільнити з, пам'ять, що повертається Get
рядок, а потім я збираюся повертає 1, щоб показати помилку.
>> Але якщо все добре, я збираюся продовжити використовувати чотири петлі і ітерації
таким чином.
Для внутр я отримую 0, п рівних довжина рядка с.
Я збираюся зробити це до тих пір, як я це менше або дорівнює п так, щоб я
ітерації через включно нуль завершальний знак в с.
>> І на кожній ітерації, я збирається збільшити I.
Тим часом, всередині цієї петлі, копіювання и I-ий символ в г-го T,
розташування, достатньо, щоб зробити т Кронштейн я отримує и кронштейн я.
>> Давайте тепер зберегти, скомпілювати і запустити цю нову програму.
Зробити копію 1 точка слеш копію 1.
І я скажу щось на зразок привіт в нижньому регістрі.
І на щастя, на цей раз мій Оригінальний залишається незмінною.
привіт в нижньому регістрі.
Але копія, дійсно, капіталізуються.