【发布时间】:2014-04-06 15:11:09
【问题描述】:
我在函数中分配结构数组,但不能用同一函数中的值填充这些结构。
#include<sys/sem.h>
void setSemaphores(int N, struct sembuf **wait){
*wait = malloc(N * sizeof(struct sembuf));
wait[3]->sem_op = 99; //causes error: Segmentation fault (core dumped)
}
int main(int argc, char *argv[]) {
int N = 4;
struct sembuf *wait;
setSemaphores(N, &wait);
wait[3].sem_op = 99; //works fine
return 0;
}
【问题讨论】:
-
这无法编译(我发现的第一个错误是缺少
N的类型)。能否提供一个可编译的代码? -
(*wait)[3].sem_op = 99; -
非常感谢,它有效