int *Array Creat1DArray( int length )
{
int *Array;
Array = (int*)malloc( sizeof(int)*length );
return Array;
}
具体实现步骤:调用"stdlib.h"里包含的malloc函数,申请到lengh*sizeof(int)个字节的内存,然后将malloc返回的void*型指针强制转化为int*型,由此实现动态一维数组的申请。
int **Create2DArray( int m, int n)
{
int i;
int **Array;
Array = (int**)malloc( (sizeof(int *) * n );//分配指针数组
for( i = 0;i < m;i++ )
{
Array[i] = (int*)malloc( sizeof(int)*n );
}
return Array;
}
这种方法的分配的内存不能保证连续性。
int **Create2DArray( int m , int n )
{
int i;
Array = (int**)malloc( sizeof(int)*m );//分配指针数组
Array[0] = (int *)malloc( sizeof(int)*m*n );//一次性分配所有空间
for( i = 1;i<m;i++ )
{
Array[i] = Array[i-1]+n;
}
}
此方法可以保证分配的二维数组的内存的连续性。