int **p如何使用?

 我来答
discovery522
推荐于2017-10-14 · TA获得超过4714个赞
知道大有可为答主
回答量:2308
采纳率:71%
帮助的人:1517万
展开全部
对于int **p来说,p所指的对象是指针,那么++p就是让p的值增一个指针的大小,虽然指针所指对像可大可小,但是指针自己的大小却是一定的,目前的系统上一般是4字节(或8字节)。也就是说,对char *p和long *q来说,p和q本身占内存容量是一样大的(虽然char和long占内存不一样大)。

一个典型的错例:
int a[2][3];
int **p = a;//错误

这个代码的错误之处在于a是一个数组,它的成员也是数组,所以a叫做“数组的数组”——C++中严格说来没有二维数组。那么,要用一个指针来记录a,就要用一个能表示“数组的数组”的指针,以下代码是正确的:

int (*p)[3] = a;//正确

只有这样才能保证++p使p指向a的下一对像(该对像是一个数组)。
顺便提一句:不要写成“int *p[3];”
守望者maque
2012-04-03 · TA获得超过323个赞
知道答主
回答量:94
采纳率:100%
帮助的人:79.8万
展开全部
**p是双重指针,p可以指向其一个指针的地址,即变量里面放数据,指针里面放变量的地址,二级指针放指针的地址。用起来比较灵活……
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
陈明8295
2012-04-03
知道答主
回答量:14
采纳率:0%
帮助的人:7.3万
展开全部
**p是双重指针,p可以指向其一个指针的地址,这样使程序更加灵活
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hhmhfhhf
2012-04-03 · TA获得超过452个赞
知道答主
回答量:226
采纳率:0%
帮助的人:242万
展开全部
不就是个二级指针吗。
变量里面放数据,指针里面放变量的地址,二级指针放指针的地址。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式