C语言关于二级指针的问题
请问使用二级指针有什么目的呢?或者说,他比一级指针优越在哪儿呢?怎么使用二级指针**p呢?可否给个例子说明一下...
请问使用二级指针有什么目的呢?或者说,他比一级指针优越在哪儿呢?怎么使用二级指针**p呢?可否给个例子说明一下
展开
2个回答
展开全部
二级指针是用来指向一级指针的指针,一般用来操作多个一级指针,最常见的就是当做参数传入函数
举例,
一个字符串char str[20],我们一般用其指针str(也就是第一个字符的指针)来表示它,str是个一级指针.而当我们要批量处理多个字符串时,就需要使用指针的指针了
假设我们有三个字符串:char a[20],b[20],c[20],假如想要将它们传入函数,使用数组名的传入方法,我们需要将a b c分别填入形参表.而如果我们使用指针数组char * p[3]={a,b,c};此时只需,当我们要传入函数时,传入p即相当于将这三个字符串传入函数了(在函数中用p[0],p[1],p[2]来表示a b c,操作具体某个字符比如a[2]则用p[0][2]来表示)
举例,
一个字符串char str[20],我们一般用其指针str(也就是第一个字符的指针)来表示它,str是个一级指针.而当我们要批量处理多个字符串时,就需要使用指针的指针了
假设我们有三个字符串:char a[20],b[20],c[20],假如想要将它们传入函数,使用数组名的传入方法,我们需要将a b c分别填入形参表.而如果我们使用指针数组char * p[3]={a,b,c};此时只需,当我们要传入函数时,传入p即相当于将这三个字符串传入函数了(在函数中用p[0],p[1],p[2]来表示a b c,操作具体某个字符比如a[2]则用p[0][2]来表示)
追问
char * p[3]={a,b,c};就是一个二维指针吗??
追答
p是一个二维指针
p[0],p[1],p[2]是一维指针,分别对应a,b,c
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询