如何解释这个函数定义?我该如何向它传递参数?

void matmul(float (*A)[N],int BlockX, int BlockY)

最佳答案

第一个参数是指向N元素数组的指针:

float a[N];
matmul(&a, 2, 3);

(注意,N必须是C89和C++中的编译时常数;在C89中,它本质上必须是#define d作为一些文字值。在C99中有可变长度的数组。)
由于数组会衰减为指针,因此也可以为其提供数组:
float b[M][N];
matmul(b, 2, 3);

关于c - 无法理解此功能定义,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8273860/

10-10 05:32