#1 2018-11-06 03:58:31

Ripper
Учасник
Зареєстрований: 2017-01-08
Повідомлень: 24

Фукнция и массив

Как вернуть массив из Функции как не пробовал на выходе пустота (((

....

float* ReadTemp() {
  float temp1;
  float temp2;
  float temp3;
  float tempavg;
  sensors.begin();
  sensors.setResolution(Thermometer1, TEMPERATURE_PRECISION);
  sensors.setResolution(Thermometer2, TEMPERATURE_PRECISION);
  sensors.requestTemperatures();
  temp1 = sensors.getTempC(Thermometer1) + 1; 
  temp2 = sensors.getTempC(Thermometer2) + 1;
  tempavg = (temp1 + temp2) / 2;
  float tempArray[] = {(int)tempavg, temp1, temp2, temp3};
  return tempArray;
}

float* temperatureArray = ReadTemp();
Serial.println((float)temperatureArray[1]);
Serial.println((float)temperatureArray[2]);
Serial.println((float)temperatureArray[3]);

Неактивний

#2 2018-11-06 07:31:09

Вячеслав Азаров
Учасник
Зареєстрований: 2017-05-25
Повідомлень: 1,732

Re: Фукнция и массив

В языке С, автоматическое копирование массивов не выполняется. Т.е. вы не можете присвоить один массив другому или вернуть его целиком из функции. Кроме того, ссылка на массив объявленный внутри функции, как автоматический, смысла не имеет, вне её контекста. Непонятно почему компилятор ничего не сказал. Включите расширенный вывод сообщений компилятора и почитайте логи. Возможно, по умолчанию, такая ситуация рассматривается как предупреждение.

Неактивний

#3 2018-11-06 13:21:45

Ripper
Учасник
Зареєстрований: 2017-01-08
Повідомлень: 24

Re: Фукнция и массив

На PHP и C# эта конструкция работает ... посему и написал по аналогии ...

Как вернуть из функции ОПРОС датчиков значение на 1 датчика а сразу нескольих (массив)

Неактивний

#4 2018-11-06 14:32:55

Вячеслав Азаров
Учасник
Зареєстрований: 2017-05-25
Повідомлень: 1,732

Re: Фукнция и массив

Ripper пише:

На PHP и C# эта конструкция работает ... посему и написал по аналогии ...

Как вернуть из функции ОПРОС датчиков значение на 1 датчика а сразу нескольих (массив)

Используйте структуры. Язык С не поддерживает так-же кортежи и замыкания. Это простая стековая машина.

Неактивний

#5 2018-11-07 00:18:01

MikeM
Учасник
З Киев
Зареєстрований: 2017-11-03
Повідомлень: 160

Re: Фукнция и массив

А если сделать массив глобальным?

Неактивний

Швидке повідомлення

Введіть повідомлення і натисніть Надіслати

Підвал форуму