Передайте char*
, если вы хотите изменить фактическую строку:
foo(str);
...
void foo(char *some_string) {
some_string[0] = 'A';
}
str
будет теперь удерживать "Ahis is a string"
Если бы вместо str
в виде массива вы имели: char *str = "Hello";
и хотели изменить, где str
указал , то вы бы передали char**
:
bar(&str);
...
void bar(char **ptr_string) {
*ptr_string = "Bye";
}
str
теперь будет точка до "Bye"
.