读书人

二级指针如何free如何一到free那句就

发布时间: 2013-04-20 19:43:01 作者: rapoo

二级指针怎么free,怎么一到free那句就出错

#include<iostream>
#include<stdio.h>
#include<string>
using namespace std;
struct path{
int path_load[100];
int top;
};

int main()
{
int dian,line,chang;
int start,end;
while(scanf("%d%d",&dian,&line))
{

int **juzhen=(int**)malloc(dian*sizeof(int *));

for(int i=0;i<dian;i++)
juzhen[i]=(int *)malloc(sizeof(dian*sizeof(int)));

/*while(line--)
{
cin>>start>>end>>chang;
juzhen[start-1][end-1]=juzhen[end-1][start-1]=chang;
}
*/
juzhen[0][0]=1;
juzhen[0][1]=1;
juzhen[1][0]=1;
for(int i=dian-1;i>=0;i--)
free(juzhen[i]);

}
}

[解决办法]
sizeof(dian*sizeof(int))
你这个写法
意思是
sizeof 一个无符号整数
结果其实就是
sizeof(int)
你的juzhen[0][1]=1;
越界了

[解决办法]
引用:
sizeof(dian*sizeof(int))
你这个写法
意思是
sizeof 一个无符号整数
结果其实就是
sizeof(int)
你的juzhen[0][1]=1;
越界了


+1

读书人网 >C++

热点推荐