首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

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

2013-04-20 
二级指针怎么free,怎么一到free那句就出错#includeiostream#includestdio.h#includestringusing nam

二级指针怎么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

热点排行