У меня есть структура в C, члены которой являются массивами с плавающей точкой. Я хочу инициализировать его во время компиляции следующим образом:
typedef struct curve {
float *xs;
float *ys;
int n;
} curve;
curve mycurve1 = {
{1, 2, 3},
{4, 2, 9},
3
};
curve mycurve2 = {
{1, 2, 3, 4},
{0, 0.3, 0.9, 1.5},
4
};
Но я получаю ошибки компиляции.
Одним из возможных решений может быть использование массивов, а не указателей в структуре. Это принятый ответ на очень похожий вопрос: { ссылка }, но проблема этого подхода в том, что я не знаю размера массива во время определения типа. Мало того, я мог бы захотеть инициализировать другую, более крупную кривую.
Другой подход может быть с mallo c, но я нахожу это излишним, потому что я знаю размер массива во время компиляции и не мне нужно изменить его во время выполнения.
Я не знаю других подходов, которые могут быть полезны. Может быть, приведение массива к указателю ?? - Я не знаю, как бы я подошел к этому.