c语言怎么把char*转换到char**

char *a;
char **b = a;

怎么把a赋值给b,且通过b可以正常取值呢?

char *a;
char **b = a;的定义方法本身是不合法的,主要问题出在双指针b,它是用来存储一个字符串变量a的地址,而调用变量a时,a的值本身就是字符串的首地址,所以应将char **b = a;改为char **b = &a;之后再调用问题就可以得到解决了,如:
#include  "stdio.h"
int main()
{
char *a;
char **b = &a;

scanf("%s",a);
printf("%s",*b);

}

温馨提示:答案为网友推荐,仅供参考
相似回答