VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 775|回复: 8

二级指针怎么释放?请求大家帮忙!

[复制链接]

1

主题

4

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-2-23 21:30:01 | 显示全部楼层 |阅读模式
unsigned char **pMyArray = new unsigned char *[nMyArrayNum];
释放的时候用的是
delete [] pMyArray;
结果会报错。
用循环,delete pMyArray[i]
也不行。
请求各位大侠帮忙啊!

问题补充:用以下代码,在编译和链接的时候没有问题,可是在运行的时候会弹出错误。
if ( pMyArray != NULL )
{
delete [] pMyArray;
pMyArray = NULL;
}
数组中的指针内存还有用,就不删了,只删除指针数组。
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-5-11 17:00:02 | 显示全部楼层
你什么地方申请的空间?
回复

使用道具 举报

0

主题

12

帖子

11.00

积分

新手上路

Rank: 1

积分
11.00
发表于 2020-5-12 15:15:01 | 显示全部楼层
delete []pMyArray[i]
回复

使用道具 举报

0

主题

32

帖子

27.00

积分

新手上路

Rank: 1

积分
27.00
发表于 2020-5-12 16:45:01 | 显示全部楼层
>二级指针怎么释放?
-------------------------
先循环删除 pMyArray[i], 之后再删除 pMyArray

>数组中的指针内存还有用,就不删了,只删除指针数组。
-------------------------
那就不删除啊, 等你不用了再删除, 或者不用二极指针.
回复

使用道具 举报

1

主题

4

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
 楼主| 发表于 2020-5-19 19:15:02 | 显示全部楼层
yangkern :  你什么地方申请的空间?

在定义的时候为指针数组申请了空间,然后用的这个数组中的元素做指针,元素指向的地址早就申请了,这里只用指针取值、赋值。
回复

使用道具 举报

0

主题

45

帖子

32.00

积分

新手上路

Rank: 1

积分
32.00
发表于 2020-5-21 02:30:01 | 显示全部楼层
一级一级删除
同意pretendersam 的
>   int **p = new int *[N];
>    for (i=0;i<N;i++)
>      p[i]=new int[N];
>
>for (i=0;i<N;i++)
>      delete []p[i];
>    delete[]p;
回复

使用道具 举报

1

主题

27

帖子

23.00

积分

新手上路

Rank: 1

积分
23.00
发表于 2020-5-26 19:45:01 | 显示全部楼层
同意楼上
回复

使用道具 举报

1

主题

4

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
 楼主| 发表于 2020-5-31 13:45:01 | 显示全部楼层
知道了,我的问题,数组越界了。。。唉。。。
谢谢大家!!!
回复

使用道具 举报

1

主题

4

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
 楼主| 发表于 2020-5-31 17:00:02 | 显示全部楼层
真是不好意思。。。丢人啊。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表