История изменений
Исправление intelfx, (текущая версия) :
...то line[] = «Hello world», и именно это значение должно быть скопировано в p? Верно ли это?
Да, совершенно верно.
p - pointer, то есть получается что strcpy копирует адреса каждой буквы из line в p? или какой именно процесс происходит?
Нет, ни в коем случае. p — pointer, т. е. он указывает на начало некоторого куска памяти, т. е. массива байт (предварительно полученного у ОС функцией alloc()).
Функция strcpy() принимает два указателя на начала соответствующих кусков памяти (массивов байт) и копирует байты подряд из второго в первый, пока не встретит байт, равный нулю (в Си — маркер конца строки). Внимание: «байт, равный нулю» — это не то же самое, что «байт, кодирующий цифру 0».
Исправление intelfx, :
...то line[] = «Hello world», и именно это значение должно быть скопировано в p? Верно ли это?
Да, совершенно верно.
p - pointer, то есть получается что strcpy копирует адреса каждой буквы из line в p? или какой именно процесс происходит?
Нет, ни в коем случае. p — pointer, т. е. он указывает на начало некоторого куска памяти, т. е. массива байт (предварительно полученного у ОС функцией alloc()).
Функция strcpy() принимает два указателя на начала соответствующих кусков памяти (массивов байт) и копирует байты подряд из второго в первый, пока не встретит байт, равный нулю (в Си — маркер конца строки).
Исходная версия intelfx, :
...то line[] = «Hello world», и именно это значение должно быть скопировано в p? Верно ли это?
Да, совершенно верно.
p - pointer, то есть получается что strcpy копирует адреса каждой буквы из line в p? или какой именно процесс происходит?
Нет, ни в коем случае. p — pointer, т. е. он указывает на начало некоторого куска памяти (предварительно полученного у ОС функцией alloc()).
Функция strcpy() принимает два указателя на начала соответствующих кусков памяти (массивов байт) и копирует байты подряд из второго в первый, пока не встретит байт, равный нулю.