当我在参数中使用括号传递矩阵时,我需要同时传递列数。为什么?
(说明:此处的“括号”指代代码中数组或矩阵的表示方式,如Python中的列表或Numpy中的数组等。)
#include <stdio.h>
//int function(int matrix[][5]){ //Will work
int function(int matrix[][]){ //Won't work
return matrix[0][0];
}
int main(){
int matrix[5][5];
matrix[0][0] = 42;
printf("%d", function(matrix));
}
gcc错误:
prog.c:3:18: error: array type has incomplete element type
int function(int matrix[][]){
^
prog.c: In function ‘main’:
prog.c:10:5: error: type of formal parameter 1 is incomplete
printf("%d", function(matrix));
^
prog.c:7: confused by earlier errors, bailing out
谢谢