#include <malloc.h>
//ReDimArray 函数可以对int char double 进行创建动态数组(保留其原有的值);
//记住结束的时候记得释放创建的内存空间!
//int 动态数组 保留数组以前的信息
//释放使用 calloc 或者malloc 创建的内存空间的空间
int* ReDimArray(int a[],int n,int j) //n为初始大小 j 为改变后的大小
{
int*
k=0;
k=(int *)malloc(j*sizeof(int));
if(j>n)
{
for(int nj=0;nj<j;nj++)
{
if (nj<=n-1)
{k[nj]=a[nj];}
else
{k[nj]=0;}
}
}
else
{
for(int nk=0;nk<j;nk++)
{
k[nk]=a[nk];
}
}
return k;
}
//char性 动态数组 保留数组以前的信息
char* ReDimArray(char a[],int n,int j) //n为初始大小
j 为改变后的大小
{
char* k=0;
k=(char *)malloc(j*sizeof(char));
if(j>n)
{
for(int nj=0;nj<j;nj++)
{
if
(nj<=n-1)
{k[nj]=a[nj];}
else
{k[nj]=0;}
}
}
else
{
for(int nk=0;nk<j;nk++)
{
k[nk]=a[nk];
}
}
return k;
}
//char性 动态数组 保留数组以前的信息
double* ReDimArray(double a[],int n,int j)
//n为初始大小 j 为改变后的大小
{
double* k=0;
k=(double
*)malloc(j*sizeof(double));
if(j>n)
{
for(int
nj=0;nj<j;nj++)
{
if (nj<=n-1)
{k[nj]=a[nj];}
else
{k[nj]=0;}
}
}
else
{
for(int nk=0;nk<j;nk++)
{
k[nk]=a[nk];
}
}
return k;
}c语言中实现动态数组!(自己包的,共大家思考)