69,382
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
#include <stdlib.h>
int
main(int argc, char **argvPP)
{
int index1I = 0;
int index2I = 0;
int row = 5;
int col = 5;
double **resultPP = NULL;
resultPP = (double **)malloc(sizeof(double*) * row * col);
for(index1I = 0; index1I < row; index1I++)
{
resultPP[index1I] = (double *)malloc(sizeof(double)* col);
for(index2I = 0; index2I < col; index2I++)
{
resultPP[index1I][index2I] = index2I;
}
}
for(index1I = 0; index1I < row; index1I++)
{
for(index2I = 0; index2I < col; index2I++)
{
printf("resultPP[%d][%d] = %f.\n",index1I, index2I,
resultPP[index1I][index2I]);
}
free(resultPP[index1I]);
}
free(resultPP);
return (0);
} /* End of main() */
int row=10;
int col=20;
double **result = (double **)malloc(sizeof(double *)*row); //sizeof(double*)就行了
for(int i=0;i <row;i++) //不要用size1,size2 都用row和col吧,不然很容易混乱
{
result[i] = (double *)malloc(sizeof(double)*col);//sizeof(double),这个需要分配的是double类型的而不是double*
for(int j=0;j <col;j++)
{
result[i][j] = i+j; //测试
cout<<result[i][j]<<" "; //输出测试
}
}