⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 arraymalloc.h

📁 用VC实现了动态数组分配的 包括所有源代码
💻 H
字号:
////ArrayMalloc.h//多维数组的动态开辟和删除。
#include <malloc.h>

//////C////
//1D
float* MallocFloat1( int n)
{float * p;
   p=(float*)malloc(n*sizeof(float));
   return p;
}
void FreeFloat1(float *p)
{
free(p);
return;
}
///2D 一次性开辟所有空间
float ** MallocFloat2(int Rows,int Cols)
{
 int i;
 float **p;
 p=(float**)malloc(Rows*sizeof(float*));
 for(i=0;i<Rows;i++)
 {
  p[i]=(float*)malloc(Cols*sizeof(float));
 }

 return p;
}
void FreeFloat2(float**p,int Rows,int Cols)
{ int i;
 for(i=0;i<Rows;i++)
 {
  free( p[i]);
 }
 free(p);
return;
}
//2D   一次性开辟所有的行,每一行对应的列动态分配
//这样可以重新动态分配二维数组的大小。
float **MallocFloat2Row(int Rows)
{
	float **p;
	p=(float**)malloc(Rows*sizeof(float*));
return p;
}
void MallocFloat2Col(float ** p,int Rows,int Cols)
{ 
	int i;
	for(i=0;i<Rows;i++)
	{
		p[i]=(float*)malloc(Cols*sizeof(float));
	}
return;
}
void MallocFloat2RowIndex(float **p,int RowsIndex,int Cols)
{
	p[RowsIndex]=(float*)malloc(Cols*sizeof(float));
	return;
}
float ** MallocFloat2Whole(int Rows,int Cols,int TotalRows)
{//动态分配二维数组大小时,一般是 1,先把行数分配的足够大,2,列数大小以后改变
	int i;
	float **p;
	p=(float**)malloc(TotalRows*sizeof(float*));
	for(i=0;i<Rows;i++)
	{
		p[i]=(float*)malloc(Cols*sizeof(float));
	}
	
	return p;
}
///////
void reMallocFloat1(float *p,int n)
{
p=(float*)realloc(p,n*sizeof(float));
return;
}
 void reMallocFloat2Col(float **p,int Rows,int Cols)
{///重新动态分配二维数组的列。行数必须和原来数组的函数相同
	 //只有列数可以重新分配大小。
	 //如果行数重新分配。在释放内存是出错,不知道什么原因
    int i;
 //p=(float**)realloc(p,Rows*sizeof(float*));
 for(i=0;i<Rows;i++)
 {
  p[i]=(float*)realloc(p[i],Cols*sizeof(float));
 }

}
////C++////还不够完善
/*
void MallocFloat1( float * p,int n)
{
   p=new float[n];
   return;
}
void FreeFloat1(float *p)
{
delete [] p;
return;
}
void MallocFloat2(float **p,int Rows,int Cols)
{
 int i;
 p=new float*[Rows];
 for(i=0;i<Rows;i++)
 {
  p[i]=new float*[Cols];
 }
 return;
}
void FreeFloat2(float**p,int Rows,int Cols)
{ int i;
 for(i=0;i<Rows;i++)
 {
  delete[] p[i];
 }
 delete p;
return;
}
*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -