В настоящее время вы не можете делать какие-либо предположения о поведении, поскольку следующие строки некорректны:
char *amen;
// ...
strcpy(amen,"c_amen.txt");
Вы передаете неинициализированный указатель на strcpy
, поэтому вам необходимо это исправить (он ожидает, чтоуказатель назначения действителен и имеет соответствующий размер для хранения скопированной строки).
После исправления, да, amen
будет указывать на строку с тем же содержимым.Конечно, он будет очищен после завершения вызова функции, поэтому не очень полезен.Вам нужно передать размер строки или вызвать strlen
на ptr
, чтобы выяснить, какой размер буфера нужно выделить.
const
в этом контексте означает, что вы не можете изменить содержимое, котороеуказатель указывает на то, что данные доступны только для чтения.Сам указатель не является константой.