C++中一级指针和二级指针的区别

C++中一级指针和二级指针的区别,越详细越好。... C++中一级指针和二级指针的区别,越详细越好。 展开
 我来答
huayu00
2011-09-16 · TA获得超过315个赞
知道答主
回答量:105
采纳率:0%
帮助的人:81.6万
展开全部
好像很绕口.
一个内存区域,它保存了数值(比如字符串"abcde"),
这个内存区域有自己的地址,即整个内存条上,它所在位置的编号,这个编号也是一个数值;
既然是数值,那就可以用变量AA来保存它,保存这个地址的变量AA就叫做指针;
如此循环下去,指针这个变量AA也是个保存了值的内存区域,也有地址,也可以用一个变量BB保存它,变量BB也是指针了,相对AA而言,它就是二级指针
实际操作而言:
long a = 100; //a保存了实际值
long* b = &a; //b保存的是a的地址
long* c = &b; //c保存的是b的地址
//然后逆操作一次
*c = 0x1d08b987; //我想操作b,让 b=0x1d08b987 了
**c = 200; //我想操作a,让 a=200 了
追问
谢谢,但是它们在运用上又有什么区别呢?比如说在释放内存的时候?在作为调用函数传递参数的时候?
追答
1级指针的内存操作.参数传递弄懂没? 
2级指针那也是指针,跟1级指针完全没区别,
只不过1级指针的值int.long这样的,而2级指针的值是指针
yang632082734
2011-09-16
知道答主
回答量:8
采纳率:0%
帮助的人:1.3万
展开全部
一级指针相当于一维数组,二级指针相当于二维数组,这样更容易理解。
追问
谢谢,但是它们在运用上又有什么区别呢?比如说在释放内存的时候?在作为调用函数传递参数的时候?
追答
int * a这就算一维指针咯,int a[b[10]]这就算二维指针啊,这区别很明显啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
豆芽二号00
2011-09-16 · 超过16用户采纳过TA的回答
知道答主
回答量:119
采纳率:0%
帮助的人:37万
展开全部
这和c语言里的情况一样
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhou397583798
2011-09-16 · TA获得超过243个赞
知道小有建树答主
回答量:312
采纳率:0%
帮助的人:195万
展开全部

int a;

int * p1 = &a;

int ** p2 = &p1;

追问
谢谢,但是它们在运用上又有什么区别呢?比如说在释放内存的时候?在作为调用函数传递参数的时候?
追答
二级指针经常会被应用在二维数组的操作上。
class A;
A** pt = NULL;
pt = new (A*)[m];
for(int i = 0; i < m; i++)
{
pt[i] = new A[n];
}
构建了一个m*n的二维数组。

for(int i =0;i< m; i++)
{
delete[ ] pt[i];
}
释放内存
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式