11.11.2017, 15:31
|
|
Гуру портала
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 18,842
Сказал спасибо: 2,531
Сказали Спасибо 11,764 раз(а) в 5,895 сообщении(ях)
|
Re: Функция вывода на lcd и глобальные переменные
Не, ну если использовать динамическое выделение памяти... Однако, это не для контроллеров. Я, по крайней мере, этим еще не страдал.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
|
|
|
|
11.11.2017, 16:05
|
|
Прописка
Регистрация: 29.03.2007
Сообщений: 185
Сказал спасибо: 11
Сказали Спасибо 1 раз в 1 сообщении
|
Re: Функция вывода на lcd и глобальные переменные
Сообщение от akegor
|
Не, ну если использовать динамическое выделение памяти... Однако, это не для контроллеров. Я, по крайней мере, этим еще не страдал.
|
В этом смысле?
|
|
|
|
11.11.2017, 16:21
|
|
Гуру портала
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 18,842
Сказал спасибо: 2,531
Сказали Спасибо 11,764 раз(а) в 5,895 сообщении(ях)
|
Re: Функция вывода на lcd и глобальные переменные
Сообщение от supercelt
|
В этом смысле?
|
В этом.
Пока не видел нужды. Даже для ББ.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
|
|
|
|
11.11.2017, 16:50
|
|
Вид на жительство
Регистрация: 03.10.2011
Сообщений: 485
Сказал спасибо: 35
Сказали Спасибо 234 раз(а) в 138 сообщении(ях)
|
Re: Функция вывода на lcd и глобальные переменные
А причём тут динамическое выделение памяти? Выделяйте её любым удобным вам способом и передавайте в функцию указатель на эту память, а функция будет заполнять её используя переданный указатель. так-же как например strcpy().
|
|
|
|
11.11.2017, 18:47
|
|
Гуру портала
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 18,842
Сказал спасибо: 2,531
Сказали Спасибо 11,764 раз(а) в 5,895 сообщении(ях)
|
Re: Функция вывода на lcd и глобальные переменные
Сообщение от Serg3301
|
А при чём
|
При том, разговор о передаче указателя на память ИЗ функции. Если функция, при наличии большой нужды, запросила и чой-то тудыть поместила, она может вернуть указатель. В принципе...
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
|
|
|
|
12.11.2017, 01:03
|
|
Вид на жительство
Регистрация: 03.10.2011
Сообщений: 485
Сказал спасибо: 35
Сказали Спасибо 234 раз(а) в 138 сообщении(ях)
|
Re: Функция вывода на lcd и глобальные переменные
Сообщение от akegor
|
При том, разговор о передаче указателя на память ИЗ функции.
|
А кто мешает функции вернуть переданный ей указатель? Опять привести в пример strcpy()?
|
|
|
|
12.11.2017, 01:29
|
|
Временная регистрация
Регистрация: 10.02.2007
Адрес: Default city
Сообщений: 65
Сказал спасибо: 3
Сказали Спасибо 12 раз(а) в 12 сообщении(ях)
|
Re: Функция вывода на lcd и глобальные переменные
В таких случаях, как у ТС, лично я внутри функции объявляю static массив и возвращаю из функции указатель на него. Во первых, это позволяет поместить такую функцию в библиотеку и присоединять к разным проектам, без привязки к именам глобальных переменных в других проектах. Во вторых, если этот массив нужен в других функциях он просто передаётся туда указателем.
Проще подружиться с указателями, чем использовать глобальные переменные.
|
|
|
|
12.11.2017, 01:39
|
|
Заблокирован
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
|
Re: Функция вывода на lcd и глобальные переменные
Сообщение от jogick
|
Проще подружиться с указателями, чем использовать глобальные переменные.
|
Надуманно. А проще ли?
|
|
|
|
12.11.2017, 01:47
|
|
Гуру портала
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 18,842
Сказал спасибо: 2,531
Сказали Спасибо 11,764 раз(а) в 5,895 сообщении(ях)
|
Re: Функция вывода на lcd и глобальные переменные
Сообщение от STM32F0
|
А проще ли?
|
Неоднозначно. Бывает проще, а бывает - лишняя головная боль. В общем, инструмент под соответствующую задачу. Без фанатизма.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
|
|
|
|
12.11.2017, 03:02
|
|
Модератор
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,246
Сказал спасибо: 11,165
Сказали Спасибо 3,854 раз(а) в 2,925 сообщении(ях)
|
Re: Функция вывода на lcd и глобальные переменные
jogick, а использовать для библиотечного модуля макроподстановку? .h всегда будет присутствовать.
А там уже и подстановку того глобального имени в конкретном проекте.
Если ещё подумать - так можно и универсальный вариант с глобальной переменной или передачей через указатель сделать.
supercelt, таки ("дабы не было мучительно больно") лучше потратить время на проектирование и тогда все вопросы этой темы отпадут сами собой.
Использование глобальных переменных экономит на коде и времени выполнения.
Другие варианты более универсальны - например при использовании одной функции в разных ситуациях/с разными данными. Хотя тут тоже может использоваться глобальная(ые) переменная(ые) с указателем.
Конкретика от многих факторов зависит, основной из которых Ваш алгоритм.
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
Последний раз редактировалось mike-y-k; 12.11.2017 в 03:05.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 09:54.
|
|