【发布时间】:2018-09-06 05:25:39
【问题描述】:
是否可以创建一个处理未定义长度数组的函数?
例如,我编写了这段代码来填充一个 3x3 的矩阵,我想知道是否有办法做到这一点,但使用一个 nxn 的矩阵。
void fillMatrix(double mat[][COLS])
{
int i,j;
printf("Enter the %d matrix elements:\n",COLS*ROWS);
for(i=0;i<ROWS;i++)
{
for(j=0;j<COLS;j++)
{
scanf("%lf",&mat[i][j]);
}
}
printf("\n");
}
在这段代码中,我定义了 ROWS=COLS=3。
【问题讨论】:
-
这个 void fillMatrix(double **mat, int *row, int *col);
-
函数从不将数组作为参数。当在函数调用中作为参数传递时,数组会衰减为指针。查看一些C reference 站点。
标签: c arrays function multidimensional-array