指向C
中指针的指针有什么用处以及何时使用?
因为我习惯于经常看到这样的事情
const char *foo(char **foo);
但是当我做这样的事情时:
#include <stdio.h>
char *foo(char **foo)
{
printf("b : %s \n ", foo);
*foo = "World";
printf(" c %s \n ", foo);
}
main()
{
static char *test = "Hello";
foo(&test);
printf("a : %s \n ", test);
}
它编译良好,但b和c都被破坏,永远不会改变。 请帮助我,我做错了什么?
答案 0 :(得分:0)
指向指针的指针是多个间接或指针链的形式。通常,指针包含变量的地址。当我们定义指向指针的指针时,第一个指针包含第二个指针的地址,指向包含实际值的位置。
http://www.tutorialspoint.com/cprogramming/c_pointer_to_pointer.htm