Этот
struct command cmd [] = { APPS[0].app, APPS[1].app };
на самом деле является небрежной версией правильного
struct command cmd [] = {
{APPS[0].app},
{APPS[1].app}
};
, который инициализирует массив struct command
cmd
двумя struct
с, чтокаждый по очереди инициализируется с использованием APPS[0].app
и APPS[1].app
.
Таким образом, чтобы имитировать поведение инициализации в качестве присваивания, выполните следующие действия:
for(i=0;i<pipecount+1;i++)
{
cmd[i]=(struct command){APPS[i].app};
}