Как передать двойной указатель из третьей функции в четвертую в C? - PullRequest
0 голосов
/ 20 февраля 2020

Мне нужно передать двойной указатель от одной функции ко второй к третьей. Например:

char *text = "some text";
func2(&text);

void func2(char **text){
  func3(&text);
}

void func3(char **text) ...

Это действительно? Есть ли лучший способ убедиться, что все эти функции могут редактировать эту переменную (не будучи глобальной)?

1 Ответ

4 голосов
/ 20 февраля 2020

Нет необходимости использовать &text в func2(). text уже является указателем на исходную переменную, вы можете просто передать его как есть.

Вам также нужно указать тип, на который указывает указатель в сигнатурах функции.

void func2(char **text){
  func3(text);
}
void func3(char **text) ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...