Не могу вернуть указатель из функции
12.10.2014, 15:23
|
|
|
Гражданин KAZUS.RUN
Регистрация: 16.03.2011
Сообщений: 486
Сказал спасибо: 8
Сказали Спасибо 131 раз(а) в 116 сообщении(ях)
|
Re: не могу вернуть указатель из функции
Сообщение от eddy
|
|
C++ тоже как-то с микроконтроллерами ну никак не вяжется!
|
Спорно. Сейчас ресурсы у МК приближаются к ресурсам компьютеров во времена создания С++.
Разработчики компиляторов тоже уже лет 10 плюсы поддерживают. По дурости наверное?
И почему же не применять С++?
|
|
|
|
12.10.2014, 15:41
|
|
|
Частый гость
Регистрация: 01.08.2006
Сообщений: 10
Сказал спасибо: 3
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Не могу вернуть указатель из функции
Сообщение от Boba_spb
|
|
Вас не смущет, что в массив из 7 элементов засаживаете 8 элементов?
|
Ну да, есть такая криворукость, будь программа побольше- запорол бы нужную ячейку.
Сообщение от pambaru
|
|
У него этот указатель получается из внешнего, передаваемого в функцию, т.е. указывает на "внешний", реально существующий адрес (внутри строки, адрес которой передается в функцию). У Вас же - указатель указывает на адрес локальной переменной данной функции, которая перестает существовать по выходу из функции.
|
Блин, ну наконец-то до меня дошло  , сорри за тугодумство и что я не понял Вас в первом посту.
То есть такая функция в принципе не корректна:
int *readDateTime();
т.к. не будет привязки к возвращаемому указателю. ОК, сделаю глобальным.
Последний раз редактировалось giran; 12.10.2014 в 16:33.
|
|
|
|
14.10.2014, 00:22
|
|
|
Прохожий
Регистрация: 08.06.2012
Сообщений: 2
Сказал спасибо: 0
Сказали Спасибо 1 раз в 1 сообщении
|
Re: Не могу вернуть указатель из функции
Сообщение от giran
|
|
(вроде как объявлять глобальные переменные- дурной тон)
|
Думаю с ограниченными ресурсами (RAM, ROM) в объявлении глобальных переменных ничего плохого нет.
|
|
|
|
14.10.2014, 06:26
|
|
|
Временная регистрация
Регистрация: 06.06.2007
Сообщений: 54
Сказал спасибо: 2
Сказали Спасибо 10 раз(а) в 10 сообщении(ях)
|
Re: Не могу вернуть указатель из функции
Судя по форумам, дурным тоном последнее время принято считать "все". Особенно этим страдают малограмотные "программисты", которые начали изучать язык по книгам "красивый код".
|
|
|
|
14.10.2014, 13:57
|
|
|
Прописка
Регистрация: 04.09.2009
Сообщений: 167
Сказал спасибо: 1
Сказали Спасибо 35 раз(а) в 25 сообщении(ях)
|
Re: Не могу вернуть указатель из функции
Сообщение от giran
|
...То есть такая функция в принципе не корректна:
int *readDateTime();...
|
Что значит "некорректна"? Абсолютно нормальный прототип. Ну разве что ещё стОит входные параметры обозначить.
Сообщение от Bear-ku
|
|
Судя по форумам, дурным тоном последнее время принято считать "все". Особенно этим страдают малограмотные "программисты", которые начали изучать язык по книгам "красивый код".
|
Использование глобальных переменных считается "дурным тоном" давным-давно, как и применение "goto" и это - правильно.
Последний раз редактировалось shindax; 17.10.2014 в 12:05.
|
|
|
|
17.10.2014, 03:39
|
|
|
Гражданин KAZUS.RUN
Регистрация: 25.11.2010
Сообщений: 516
Сказал спасибо: 1
Сказали Спасибо 126 раз(а) в 109 сообщении(ях)
|
Re: Не могу вернуть указатель из функции
shindax ко всем своим "абсолютным" высказываниям добавляем imho. и ЭТО правильно.
|
|
|
|
Эти 3 пользователя(ей) сказали Спасибо Hives за это сообщение:
|
|
|
17.10.2014, 10:14
|
|
|
Заблокирован
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
|
Re: Не могу вернуть указатель из функции
Volatile тоже "дурной тон", но попробуйте, не в теории, а на практике, написать что-либо без глобальных и volatile для МК!?
|
|
|
|
17.10.2014, 10:52
|
|
|
Гражданин KAZUS.RUN
Регистрация: 16.03.2011
Сообщений: 486
Сказал спасибо: 8
Сказали Спасибо 131 раз(а) в 116 сообщении(ях)
|
Re: Не могу вернуть указатель из функции
Сообщение от STM32F0
|
|
Volatile тоже "дурной тон"
|
Откуда вы это взяли?
Сообщение от STM32F0
|
|
но попробуйте, не в теории, а на практике, написать что-либо без глобальных и volatile для МК!?
|
Не напишешь без volatile - поэтому их к дурному тону никак не отнесёшь.
|
|
|
|
17.10.2014, 12:00
|
|
|
Прописка
Регистрация: 04.09.2009
Сообщений: 167
Сказал спасибо: 1
Сказали Спасибо 35 раз(а) в 25 сообщении(ях)
|
Re: Не могу вернуть указатель из функции
Сообщение от STM32F0
|
|
...Volatile тоже "дурной тон"...
|
Это с какого перепугу? Это служебное слово было изначально придумано для систем с механизмом прерываний и суть его очень проста: запретить оптимизатору компилятора делать какие-либо предположения насчёт дальнейшего использования такой переменной.
|
|
|
|
17.10.2014, 12:02
|
|
|
Прописка
Регистрация: 04.09.2009
Сообщений: 167
Сказал спасибо: 1
Сказали Спасибо 35 раз(а) в 25 сообщении(ях)
|
Re: Не могу вернуть указатель из функции
Сообщение от Hives
|
|
shindax ко всем своим "абсолютным" высказываниям добавляем imho. и ЭТО правильно.
|
"Не говорите что мне делать и я не скажу, куда Вам идти." ®
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 18:24.
|
|