VC中动态申请double data[100][8000],dataInterp[300][8000]
方法一:
double **data,**dataInterp;
申请分配
data = (double **)malloc(sizeof(double)*100);
dataInterp = (double **)malloc(sizeof(double)*300);
for(p = 0;p<100;p++)
data[p] = (double *)malloc(sizeof(double)*8000);
for(p = 0;p<300;p++)
dataInterp[p] = (double *)malloc(sizeof(double)*8000);
释放
for(p = 0;p<100;p++)
free(data[p]);
for(p = 0;p<300;p++)
free(dataInterp[p]);
free(data);
free(dataInterp);
方法二:
#include <stdio.h>
#include <stdlib.h>
void main()
{
int nrows,ncolumns;
int **Array;
int i,j;
printf("please input nrows&ncolumns:/n");
scanf("%d%d",&nrows,&ncolumns);
Array=(int **)malloc(nrows*sizeof(int *));
for(i=0;i<ncolumns;i++)
Array[i]=(int *)malloc(sizeof(*Array));
for(i=0;i<nrows;i++)
{
for(j=0;j<ncolumns;j++)
{
Array[i][j]=1;
printf("%d ",Array[i][j]); //动态数组的成员都可以用正常的数组下标 arrayx[i][j]
}
printf("/n");
}
free(Array);
}