c语言 如何使用用指针变量a输出字符串banana?
2018-03-20
展开全部
void main()
{
char *list[]={"apple","banana"};
char **a;
a = list;
printf("%s",*(a+1));
getchar();
}
追问
为什么要用二级指针?
追答
二级指针是指向指针的指针,看个例子
C是"一段内容",比如你用malloc或者new分配了一块内存,然后塞进去"一段内容",那就是C了。C的起始地址是0x00000008。
B是一个指针变量,其中存放着C的地址,但是B也要占空间的啊,所以B也有地址,B的起始地址是0x00000004,但是B内存中存放的是C的地址,所以B里面的内容就是0x00000008。
B= 0x00000008; //B的内容
*B = "一段内容"; //B解引用,也就是B指针指向的C的值
*A = B= 0x00000008; //A解引用也就是B的内容
**A = *B = "一段内容"; //B解引用,也就是B指针指向的C的值
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询