Дэвид Дж. Малан: Вот и получается, что копирование строки, не так просто, как копирование примитивный, как Int или поплавком. В конце концов, под капотом строкой является символов последовательности. Так копирование строки, поэтому, должен привлекать копирования, что всю последовательность символов. Давайте обратим внимание на том, что в прошлом внедрение и вырвать этот линия, строка т равна с, что явно не была достаточной. Давайте заменим его с линией, которая выглядит, а не, как это. Строка т получает таНос длины строки из S Plus 1 раз размером с гольца. Теперь есть цитата немного собирается в этой строке кода. Во-первых, таНос, короткие для памяти выделение и Функция делает именно это. Дано целое число, то возвращается к вам в адрес кусок памяти что многие байт. Между тем, длина строки с 1 плюс призвана подчеркнуть, что мы хотим, как количество байт с уже занимает, в том числе его нулевое окончание, обратный слеш 0 в конце строки. Между тем, я не обязательно помнить насколько большой символ есть, даже хотя в большинстве систем это просто 1 байт, так что я буду называть размер гольца в выяснить, динамически, насколько велика индивидуальный характер. После умноженное вместе, я вернусь Общее число байтов, что мне нужно. Но что, если таНос не в состоянии вернуть память мы должны? Я бы лучше проверить, что в следующем. Если т равна нулю, то я сначала собирался освободить с, память, возвращаемый Get строка, а затем я собираюсь возвращает 1, чтобы показать ошибку. Но если все хорошо, я собираюсь продолжить использовать четыре петли и итерации следующим образом. Для внутр я получаю 0, п равных длина строки с. Я собираюсь сделать это до тех пор, как я это меньше или равно п так, чтобы я итерации через включительно нуль завершающий знак в с. И на каждой итерации, я собирается увеличить I. Между тем, внутри этой петли, копирование ы I-ый символ в г-го T, расположение, достаточно, чтобы сделать т Кронштейн я получает ы кронштейн я. Я бы лучше добавить один дополнительный линия для моего кода. В частности, потому, что я в настоящее время используют таНос, прося памяти, это моя ответственность, чтобы освободить эту память когда я закончу с этим, как мы следует освобождения памяти это дано нам взять веревку. Так в самом конце этой программы, я собирается добавить еще одну линию освободить т, прежде чем вернуться 0 в случае успеха. Давайте теперь сохранить, скомпилировать и запустить эту новую программу. Сделать копию 1 точка слэш копию 1. И я скажу что-то вроде привет в нижнем регистре. И к счастью, на этот раз мой Оригинальный остается неизменной. привет в нижнем регистре. Но копия, действительно, капитализируются.