用一维数组来实现二维数组的功能,在内存中二维数组还是线性排列的。对于想申请a[m][n]数组可以如下实现: int *ptr_array; ptr_array = (int*) malloc(m*n*sizeof(int)); 当需要访问a[i][j]时, 用如下方式访问: *(ptr_array + i * n + j);/*i,j分别为横坐标,纵坐标*/ 当需要释放空间时,用...
char *argv[]){int m,n,i,j,**p,*q;srand((unsigned)time(NULL));m=rand()%10+1;while(m*(n=rand()%10+1)&1);//保证m*n是偶数q=(int *)malloc(sizeof(int)*m*n);if(q==NULL || (p=(int **)malloc(sizeof(int *)*m))==NULL){printf("Application memory failure....
在这个示例中,我们首先使用scanf()函数获取用户输入的数组大小,然后使用malloc()函数动态分配内存。malloc()函数接受一个参数,即要分配的内存大小(以字节为单位)。在这里,我们将数组大小乘以sizeof(int),以确保为整数数组分配足够的内存。 接下来,我们检查分配的内存是否成功。如果arr指向的是NULL,则表示内存分配失...