Я хотел бы создать новый массив значений, и я не уверен, как это сделать эффективно.Поскольку для создания нового массива мне нужно вызвать функцию, передав в качестве параметра старый массив.Прямо сейчас мой код выглядит примерно так:
float *newMeasurements1;
newMeasurements1 = malloc(sizeof(calcNewArray(oldArray)));
newMeasurements1 = calcNewArray(oldArray);
float *calcNewArray(float *oldArray) {
float *newArray;
int new_size = sizeof(oldArray) - outliers;
newArray = malloc((new_size) * sizeof(float));
for (i = 0; i < new_size; i++) {
newArray[i] = oldArray[i];
}
return newArray;
}
Я не уверен, что это правильный способ сделать это, потому что мне нужно вызвать функцию один раз, чтобы узнать размер нового массива.А затем вызовите функцию во второй раз, чтобы фактически назначить массив выделенной памяти.Как лучше всего это сделать?