Если у меня есть следующая структура C:
struct group_of_pointers {
double *p1, *p2, *p3;
} *pointers;
Теперь я хочу выделить n пробелов (каждый с размером double) для указателей-> p1, указателей-> p2, указателей-> p3. Как мне это сделать? Нужно ли выделять какое-либо место для указателя на саму структуру «указатели»?
Спасибо.
ETA: связанный вопрос:
Мне нужна эта структура, потому что я хочу вернуть 3 массива переменной длины из функции. Должен ли я просто сделать
void foo(const double* const input, double *output1, double *output2, double *output3)
или я должен сделать
struct group_of_pointers *foo(const double* const input)
Первый выглядит немного запутанным с входом и выходом, все вместе. Но так ли это, как С?