求大神指导一下一个指针的指针问题
#include <stdio.h>#include <string.h>
char *Test[2];
char a[2]={1,2};
void test()
{
void *p;
p = (char *)&a[0];
Test[0] = (char *)p;
printf("%x,%d\n",p,*(char*)p);
*(char**)p = (char *)p + 1;//此时的p是局部变量
printf("%x,%x\n",(char**)p,*(char**)p);
}
void main ()
{
void *p;
test();
p = Test[0];
printf("%x,%x\n",p,*(char**)p);//??*(char**)p为什么是 Test[1]的地址
}
运行结果如下
424d8c,1
424d8c,424d8d
424d8c,424d8d