若有定义:int **p;则p是一个什么变量

急啊!!!!... 急啊!!!! 展开
 我来答
teddy_0416
2010-04-07 · TA获得超过556个赞
知道小有建树答主
回答量:335
采纳率:0%
帮助的人:333万
展开全部
p是指针变量.

int *******p;

不管你写多少个 * 号 p 都是指针变量

这个变量存储的数据是 一个内存的地址
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
XXXXXYYYYYXXXXXYYYYY
2010-04-07 · TA获得超过156个赞
知道答主
回答量:72
采纳率:0%
帮助的人:74.6万
展开全部
**p是指向指针变量的指针。、
举个例子就很明白了
int a=10;
int *pia;
pia=&a;
int **p;
p=&pia;

则*p就等于pia;
**p就等于*pia,而*pia等于a,即**p等于a=10;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mu17361
2010-04-07
知道答主
回答量:19
采纳率:0%
帮助的人:0
展开全部
对于int **p来说,p所指的对象是指针,那么++p就是让p的值增一个指针的大小,虽然指针所指对像可大可小,但是指针自己的大小却是一定的,目前的系统上一般是4字节(64位系统我没用过,可能是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];”
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式