| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1625 人关注过本帖
标题:如何定义并使用多级指针?
只看楼主 加入收藏
gyx8899
Rank: 2
等 级:论坛游民
帖 子:56
专家分:91
注 册:2010-2-2
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:2 
如何定义并使用多级指针?
在c++中,当用new创建动态数组时,首先定义指针,但改如何定义多级指针?比如三级的。寻求例子讲解。谢谢。
搜索更多相关主题的帖子: 定义 指针 
2010-02-02 18:06
lintaoyn
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:606
专家分:2499
注 册:2009-4-8
收藏
得分:20 
例子:
int ***p;//三级指针
p = new int** [3];//p就只理解成指针,不要管它是几级的
for (int i = 0; i != 3; ++i)
{
*(p + i) = new int* [2];//*(p + i)它的值也是一个地址,其本质和指针是一样的,你也只要理解成指针就行
for (int n = 0; n != 2; ++n)
{
*(*(p + i) + n) = new int [3];//*(*(p + i) + n)同上,你理解下为什么不是写成*(p + i + n)
}
}
释放部分
for (i = 0; i != 3; ++i)
{
for (n = 0; n != 2; ++n)
{
delete [] *(*(p + i) + n);
}
delete [] *(p + i);
}
delete [] p;//释放部分你可以给记成后申请的空间先释放

记住一点吧,看下解引用后的内容是不是还是一个地址,不要被几级几级指针这个概念给弄糊涂了。

迭代的是人,递归的是神。
2010-02-02 20:28
gyx8899
Rank: 2
等 级:论坛游民
帖 子:56
专家分:91
注 册:2010-2-2
收藏
得分:0 
非常谢谢啊。
2010-02-03 11:45
快速回复:如何定义并使用多级指针?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019771 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved