定义一个二级指针应该怎么定义!是int *(*p)吗! 5
4个回答
展开全部
用int **p;就可以,因为*是右结合的,先*p之后再*(*p);
定义指针函数的时候要用int(*p)(),同样是因为*和()优先级相同,右结合
定义指针函数的时候要用int(*p)(),同样是因为*和()优先级相同,右结合
追问
那对于一个二维数组,如a[2][2]={1,2,3,4};
要让p等于行指针,怎么赋值!我是让p=a;*p=a;**p=a;都不行!
追答
不知道你要干嘛 如果你定义二级指针 **p 那么p是指向指针的指针 能赋给p的值必须是指针
而a是数组的首地址 你只要定义一级指针就可以了
你的意思是你想只操作行? 那你可以定义一级指针 比如
int *p;
int a[][m]; //m是一常数
p=a;
那么第一行的各个值就是*p~*(p+m)
第二行第一个值是*(p+m+1)
第三行第一个值就是*(p+2*m+1)
展开全部
用int **p;就可以,因为*是右结合的,先*p之后再*(*p);
定义指针函数的时候要用int(*p)(),同样是因为*和()优先级相同,右结合
如果你要定义他,可以p=*a[0], p=*a[1]
定义指针函数的时候要用int(*p)(),同样是因为*和()优先级相同,右结合
如果你要定义他,可以p=*a[0], p=*a[1]
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是的,就是int **p
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int ** p;
指针的指针
指针的指针
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询