指向 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 都被损坏了,并且 a 永远不会改变。 请帮助我,我做错了什么?
最佳答案
指向指针的指针是多重间接寻址或指针链的一种形式。通常,指针包含变量的地址。当我们定义一个指向指针的指针时,第一个指针包含第二个指针的地址,第二个指针指向包含实际值的位置。
http://www.tutorialspoint.com/cprogramming/c_pointer_to_pointer.htm
关于c++ - 如何使用指向指针的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24711116/