假设我有一个指针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,即使它什么都不做.
只需保留两个指针级别.
#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)
| 归档时间: |
|
| 查看次数: |
64 次 |
| 最近记录: |