读书人

帮忙分析二维数组指针和地址,该怎么处

发布时间: 2012-05-23 13:44:13 作者: rapoo

帮忙分析二维数组指针和地址
帮忙分析二维数组指针和地址

[解决办法]

C/C++ code
#include <stdio.h>#include <malloc.h>typedef int (*Array)[10];void print1(int **a,  int x,  int y){    int i = 0;    for (; i < x; ++i)    {        int j = 0;        for (; j < y; ++j)        {            printf("%d-- ",  a[i][j] = i);        }        printf("\n");    }}void print2(Array a,  int x, int y){    int i = 0;    for (; i < x; ++i)    {        int j = 0;        for (; j < y; ++j)        {            printf("%d-- ", a[i][j] = i);        }        printf("\n");    }}void initialize(int **array, int length, int columnCount){    int i = 0;    for (; i < length; ++i)    {        array[i] = (int*)calloc(columnCount, sizeof(int));    }}void dispose(int **array, int length){    int i = 0;    for (; i < length; ++i)    {        free(array[i]);        array[i] = NULL;    }}int main(){    int *array1[5];    Array array2 = (Array)calloc(5, 10 * sizeof(int));    initialize(array1, 5, 10);    print1(array1, 5, 10);    printf("\n\n");    dispose(array1, 5);        print2(array2, 5, 10);    free(array2), array2 = NULL;    return 0;} 

读书人网 >C语言

热点推荐