Получить значение переменной если ее имя задано в текстовой форме
- Войдите на сайт для отправки комментариев
Пнд, 11/01/2021 - 18:35
Здравствуйте, вот код
float r1_1=0; ................... float r1_26=0; for(int i=0;i<26;i++) { Serial1.print((String)"&r1_"+i+"="+"r1_"+i); } Serial1.println("");
в конце строки "r1_"+i это имя существующей переменной, как к ней можно обратиться? Не смог найти такую информацию, и возможно ли это вобще? Спасибо за помощь!
Никак, для этого есть массивы.
Не
float r1_1, ... ,r1_26;
А
float r1[26];//на самом деле [25], потому, что нумерация начинается с нуля
Что не уж то за 2,5 года знакомства с ардуино не добрался до массивов ?
А если эти переменные имеют разные типы? flot bool int...?
А если эти переменные имеют разные типы?
А нафуя ?
ну чтобы меньше памяти занимали
ну чтобы меньше памяти занимали
Что мешает сделать для каждого типа отдельный массив ? Сама задумка бредом отдает
Кроме массивов есть ещё структуры, если что....
Дело в том, что параметров очень много и такая запись
Сжирает много динамической памяти
Дело в том, что параметров очень много и такая запись
Сжирает много динамической памяти
Потому что везде String используется.
Сама идея так себе не нужно все это выводить за раз, тем более строкой.
В реальной программе тем более, а для отладки можно и по одной переменной выводить
я понял, спасибо!
ну чтобы меньше памяти занимали
На практике оказывается, что, наоборот, так занимают заметно больше.
А если эти переменные имеют разные типы? flot bool int...?
К имени переменной ее тип никакого отношения не имеет
и как я, позвольте спросить, создам массив переменных с разным типом?
и как я, позвольте спросить, создам массив переменных с разным типом?
Никак не создадите.
ну, или сделаете объемлющий тип (погуглите тип VARIANT).
Создавайте с одним типом.
Или пишите переменные, как в #7.
Доводы "очень надо" компилятору фиолетовы.
и как я, позвольте спросить, создам массив переменных с разным типом?
Судя по уровню вопросов: Вы - никак.
Да, по сути, оно Вам и не нужно: ищите другой способ - который Вам под силу. Заодно он может оказаться и более эффективным.