C语言之二级指针/双重指针
首先,回顾字符串与指针的关系,声明如下:
char *string="Hello!";
char string[]="Hello!";
复杂声明与数组指针,指针数组解释方法:
A)指针的数组
int *p1[10];
B)数组的指针
int (*p2)[10];
使用代码分析:
void change(char** x)
{
*x = "bbb";
}
int main(void)
{
char *y = "aaa";
change(&y);
printf("%s",y);
return 0;
}
以上是正确代码,但如果换成如下代码输出则是aaa;
{
*x = "bbb";
}
int main(void)
{
char *y = "aaa";
change(y);
printf("%s",y);
return 0;
}
分析方法如下: