二维数组是一个二级指针没错, 但是在形参使用的时候有规定,形参的类型一定要和实参一模一样. (形参现在是int**,实参是int(*)[10]或int[8][10]) 在这里因为实参是一个8行10列这片连续地址的首地址,因为形参也必须是要知道第二维的大小,这才可以最正确的指向, 所以你形参要写成 matrix[][N+2] 或者 (*matrix)[N+2] 这样就不会警告了.PS:你虽然这里是二维的,但是你给的参数是maze,这里相当于是数组的第一个元素的地址,也就是相当于maze[0](相当于一维),所以你函数里的参数写成int *matrix会更好....
|