C语言中,指向指针的指针如何取出其指向指针的地址

int main()
{
char *a = "abcdef";
char *b = &a;
char *c = (char *)*b;
//printf("%s\n",*b);
printf("&a = 0x%x\n",&a);
printf("&b = 0x%x\n",&b);
printf("*a = 0x%x\n",a);
printf("*b = 0x%x\n",*b);
printf("*c = 0x%x\n",c);

return 0;
}
运行结果为:
&a = 0x60ff28
&b = 0x60ff24
*a = 0x405064
*b = 0x64
*c = 0x64

b跟c取出的值都有问题,如何解决?

char **b = &a; 这次才是正确的二级指针使用方式,然后*b的值就是a,**b就是a指向的第一个字符。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-06-27
char *b = &a;--->char **b = &a;
相似回答