хорошо, так .... Когда вы объявляете "текстовую строку", ее тип:
const char* const text = "text string";
Теперь вы можете скопировать это в буфер символов, так что все в порядке:
char string[] = "Any string";
, потому что «строка» в этом контексте является копией исходного текста (с собственной памятью). Это, однако, не будет хорошо:
char* ptr = "Some Text";
Причина в том, что «Some Text» является постоянным, и вы просите ссылаться на него как на некоторую память, которую можно изменить. Для меня это означает, что у вашего 'fun c' есть следующий прототип:
void func(char* str);
Теперь в приведенном выше примере вы можете передать ему 'string', потому что типы совпадают. Вы не можете передать «Любую строку», потому что она постоянная. Однако, если прототип:
void func(const char* str);
, тогда не должно быть никаких проблем.