C语言实现动态一维/二维数组的申请
2014-04-02 17:43
507 查看
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;
}
}
此方法可以保证分配的二维数组的内存的连续性。
{
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;
}
}
此方法可以保证分配的二维数组的内存的连续性。
相关文章推荐
- C语言如何动态申请空间(一维和二维)
- C语言如何动态申请空间(一维和二维)
- 动态二维数组的C语言实现
- 二维数组的动态申请--c语言
- 一维动态数组的实现(c语言)
- C语言如何动态申请空间(一维和二维)
- C语言中二维数组的动态申请与释放
- C语言如何动态申请空间(一维和二维)
- 在C语言中实现动态分配二维数组
- C语言动态申请二维数组
- C语言如何动态申请空间(一维和二维)
- 重看C语言,做的一道题及动态二维数组的实现
- 在C语言中实现动态分配二维数组
- C语言 指针相关问题--调用函数实现空间动态申请
- 用C语言分配动态二维数组(结构体实现)
- 在C语言中实现动态分配二维数组【转自iTango】
- C语言中二维数组的动态申请与释放
- 用内存申请实现动态二维数组的创建及打印(每行的元素个数不同)
- C语言中动态申请连续的二维数组
- C语言如何动态申请空间(一维和二维)