如何更新必须通过3个函数的指针?

Mic*_*elX 2 c pointers

假设我有一个指针function1,我需要传递给它function2,并function2需要传递给它function3,function3需要更新指针.你怎么做到这一点?

你用三星吗?如果是这样,将指针传递到内部的正确方法是function2什么?

function1(void){
    char *pointer;
    function2(&pointer)
}

function2(char **pointer){
      function3(&(*pointer));
}

function3(char ***pointer)}
    /*update pointer*/
}
Run Code Online (Sandbox Code Playgroud)

我的问题只是关于这种情况(3个函数),我不想删除function2,即使它什么都不做.

Sta*_*eur 7

只需保留两个指针级别.

#include <stdio.h>

static int b = 42;

void foo(int **a) {
    *a = &b;
}

void bar(int **a) {
    foo(a);
    printf("%d\n", **a);
    **a = 21;
}

int main()
{
    int *a = NULL;

    bar(&a);

    printf("%d\n", *a);
}
Run Code Online (Sandbox Code Playgroud)

输出:

42
21
Run Code Online (Sandbox Code Playgroud)