C语言 指针的指针输出字符串
代码如下,*strings[]是指针数组,**p是指针的指针,那么p应该指的是*strings[]指针数组中存储的指针变量的地址,*p指的是字符串的地址,**p指的是字符串的值,可是这里输出字符串的时候,为什么是用*(p+i)?
#include<stdio.h>
main()
{
char *strings[]={"C language",
"Basic"}
char **p,i;
p=strings;
for (i=0;i<2;i++)
{
print("%s\n,*(p+i));
}
}
本帖最后由 V1, 于 2019-10-11 03:35 编辑
*(p+i)指向字符串 **p应该是指向一个字符吧 Have a look on this, you may understand how pointer works in 2D array
https://fishc.com.cn/thread-148659-1-1.html *(p + i)等价于strings
*P指向的就是strings这指针个数组 字符串的输出可以用地址实现
页:
[1]