二维数组动态分配【数据结构-朱战立】

/*该程序是数据结构-朱战立 第三版第五章例程完整版*/

/*运行环境是 VS2013+Win7*/

/*2018年8月17日 09:17:38*/
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>

/*分配二维数组的内存空间*/
int fenpei(int row, int col)
{
    int i;
    int **array;
    
        if ((array = (int **)malloc(row *sizeof (int *))) == NULL)
        {
            getchar();
            exit(0);
        }
        for (i = 0; i < row; i++)/*分配行内存空间*/
        {
            if ((array[i]=(int*)malloc(col*sizeof(int)))==NULL)
            {
                getchar();
                exit(0);
            }
        }
        return array;
}

/*撤销内存*/
void Destroy(int **array, int row)
{
    int i;
    for ( i = 0; i < row; i++)
    {
        free(array[i]);
    }
    free(array);
}

/*主函数*/
int main()
{
    int i, j;
    int row = 10, col = 10;
    int **array;

    array=fenpei(row,col);
    for ( i = 1; i <row; i++)
    {
        for ( j = 1; j <col; j++)
        {
            array[i][j] = i*j;
        }
    }
    for ( i = 1; i < row; i++)
    {
        for ( j = 1; j < col; j++)
        {
            printf("%d      ", array[i][j]);
        }
        printf("\n");
    }
    Destroy(array, row);
    getchar();
    return 0;
}

猜你喜欢

转载自blog.csdn.net/qq894040717/article/details/81774528
今日推荐