我在 ANSI C 中编写程序,并且有一个函数,其中我将指针传递给信号量数组 struct sembuf semb[5]
。
现在该函数的 header 如下所示:
void setOperations(struct sembuf * op[5], int nr, int oper)
但是我收到警告:
safe.c:20: note: expected ‘struct sembuf **’ but argument is of type ‘struct sembuf (*)[5]’
如何解决这个问题?
编辑
调用:
setOperations(&semb, prawa, -1);
最佳答案
如果您想将指针传递给数组而不是指针数组,那么函数应该这样声明:
void setOperations(struct sembuf (*op)[5], int nr, int oper);
关于c - Ansi C - 函数期望指向数组的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13379164/