二重指针和字符数组和字符串指针问题
#include <stdio.h>
int main(int argc, char *argv[])
{
char string[] ="helloworld";
char**p = &string;
getch();
return 0;
}
char **p =&string有什么问题?
我调试的时候显示p是错误的指针
而这么赋值就是ok的
int main(int argc, char *argv[])
{
char *string ="helloworld";
char**p = &string;
getch();
return 0;
}
帮忙解答下
谢谢
[解决办法]
char string[] ="helloworld";
这里定义了一个数组,也就是说string变量的类型是char[11],
那么&string的类型就是 char(*)[11],
而char**p,中p的类型是char**,试图char(*)[11]赋值给char**类型当然是错误的。
同理分析后面的
[解决办法]
数组是这样存的:string:[][][][][][][][][][][]...
指针不一样:p:[] ----->[][][][][][][][][][][]...