создайте массив каналов в c

#c #pipe

Вопрос:

Я новичок в C этом, и я пытался сделать array из pipe , но это дает мне ошибку.
Это то, что я пытался сделать :

 int fd[N][2];
pipe(fd);
 

Может кто-нибудь сказать мне, что я делаю не так ?

Комментарии:

1. Что это pipe[fd]; значит?

2. и какую ошибку это дает

Ответ №1:

Вы должны сделать for loop вот так:

 int fd[N][2];
for(int i=0;i<N;i  )
    pipe(fd[i]);
 

Ответ №2:

Прототип для pipe is, согласно документации,

 int pipe(int fildes[2]);
 

То есть аргумент представляет собой массив int s длиной два. Однако в вашем примере fd это не массив int s, а массив массивов int s. Вам нужно pipe призвать элементы fd индивидуально.