求助,C语言指针数组释放运行时出错!!!
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <malloc.h>
#include <string.h>
#define ROWS 6
#define COLUMN 10
void MyArrayInit(void);
int main(void)
{
MyArrayInit();
_getch();
return 0;
}
void MyArrayInit(void)
{
int i,j;
int **parr=(int **)malloc(ROWS*sizeof(int *));//定义一个指向指针的指针。parr指向了一块内存,该
//内存内容为地址。parr为二级指针。
for(j=0;j<ROWS;j++)
{
//*(parr+j)=(int *)malloc(COLUMN*sizeof(int));//*(parr+j)为地址
parr[j]=(int *)malloc(COLUMN*sizeof(int));
} for (i=0;i<=ROWS;i++)
for(j=0;j<COLUMN;j++)
{
*((*parr+i)+j)=i*j;//二级指针的应用。
}
for (i=0;i<ROWS;i++)
for(j=0;j<COLUMN;j++)
{
if (j%COLUMN==0)
{
printf("\n");
}
printf("%2d ",*((*parr+i)+j));
}
for(j=0;j<ROWS;j++) //释放指针数组时运行处错,问题未解决。
{
free(parr[j]);
}
free(parr);
}