C语言使用二维指针编写程序接口

用二维指针编写接口可以避免有些类型的return出错的问题

#include <stdio.h>
void test(char **string)
{
*string = "hello world";
}
int main()
{
char *str = NULL;
test(&str);
printf("str=%s\n",str);

getchar();
return 0;

结果:

具体分析如下图:
过程:
1.定义一个字符串指针str,str本身的地址是100,值为0(即NULL,一般的编译器NULL的地址是0)。
2.取str的地址100传给string,此时string的值是100,地址为200
3.这里假设“hello world”字符串的地址是300,接下来就是改变一级指针指向的内容的地址,由0变成300

滚动至顶部