博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C/C++ 段错误--关于指针内存泄露
阅读量:5742 次
发布时间:2019-06-18

本文共 653 字,大约阅读时间需要 2 分钟。

函数传入的参数为指针类型,函数内部也另外开辟了空间,使得它的头指针等于传入的,但是free时,段错误。这是不对的。

如错误如下:

fr412012.0910

short* pinx=(short*) malloc(pinNum*sizeof(short));

 short* piny=(short*) malloc(pinNum*sizeof(short));
 int i,j,k;
 pinx=nets[jj]->pinX;
 piny=nets[jj]->pinY;

free(pinx);

free(piny);

正确如下

(1)

 xs = (DTYPE *)malloc(sizeof(DTYPE)*(d));

        ys = (DTYPE *)malloc(sizeof(DTYPE)*(d));
        s = (int *)malloc(sizeof(int)*(d));

        for(i=0; i<d; i++)

        {
            xs[i] = gxs[netID][i];
            ys[i] = gys[netID][i];
            s[i] = gs[netID][i];
        }

  free(ys);

        free(ys);
        free(s);
    }

(2)

#define MAXNETDEG 1000000000

int x[MAXNETDEG], y[MAXNETDEG];

不用free。使用栈空间

转载于:https://www.cnblogs.com/dreamboke/archive/2012/09/09/2677941.html

你可能感兴趣的文章
jquery.form附件上传的 $.handleError 、以及 $.httpData
查看>>
MDSTableClient类相关分析
查看>>
我的友情链接
查看>>
Linux命令行:查看服务器开放的端口号
查看>>
烂泥:学习Nagios(二):Nagios配置
查看>>
cmake编译安装mysql
查看>>
我的友情链接
查看>>
git服务器笔记
查看>>
如何搭建基于ldap和mysql的gerrit服务
查看>>
ajax可以伪造的头部信息
查看>>
Guava库学习:学习Concurrency(八)Futures
查看>>
JS的构造函数
查看>>
MAVEN 属性定义与使用
查看>>
hadoop2.7.2 HA搭建
查看>>
gitosc上传项目
查看>>
基于开源云平台OpenStack的存储分析
查看>>
关于Android Sqlite语句注意事项一点
查看>>
shell高级视频答学生while循环问题
查看>>
无法SSH到Ubuntu
查看>>
使用@media实现IE hack的方法
查看>>