这里是函数的 header :
int* matrixmult(const int*ap[], const int* bp[], int* cp[])
以及函数的工作调用:
matrixmult(ap, bp, cp);
为什么这个调用不起作用?:
matrixmult(ap[0], bp[0], cp[0]);
最佳答案
Why doesn't this call work?:
matrixmult(ap[0], bp[0], cp[0]);
这里,值(数组的第一项 - int
)被传递给函数,同时需要指针:
int* matrixmult(const int*ap[], const int* bp[], int* cp[])
这个:
matrixmult(ap, bp, cp);
之所以有效,是因为这三个都是指针。 ap
与 &ap[0]
相同。
关于C 语法理解 - 参数传递给函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34828486/