Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту


 
Опции темы

Не могу вернуть указатель из функции

Непрочитано 22.10.2014, 06:20  
shindax
Прописка
 
Регистрация: 04.09.2009
Сообщений: 167
Сказал спасибо: 1
Сказали Спасибо 35 раз(а) в 25 сообщении(ях)
shindax на пути к лучшему
По умолчанию Re: Не могу вернуть указатель из функции

Сообщение от Boba_spb Посмотреть сообщение
Интересно, зачем тогда оператор GOTO
В ассемблере без goto решительно никак. В Си - легко, но, возможно, дань традиции, может какие-то требования регистрирующих организаций. Хотя бывают очень редкие случаи, когда использование goto внутри циклов позволяет избежать введения новых переменных и/или нагромождения кода, который скрывает вожделенную его прозрачность.

Сообщение от hacker7 Посмотреть сообщение
Формальная ошибка:
int *readDateTime() {
int DateTime[7];
.........
return DateTime;

тип функции д б не указатель на целое, а указатель на массив целых или, если угодно указатель на указатель на целое нефиг писать на с
или писать, нейтрализуя его паскудство. а то у вас там таааакие сдвижки....
Нет никакой ошибки. Вам-бы почитать сначала, прежде, чем излагать своё суждение о том, о чём представления не имеете. DateTime и есть указатель на целое, или на массив целых, в Си это неважно, вопрос в том, как этот указатель возвращать. В данном случае это DateTime, для переменной int Var, это будет &Var. А указатель на указатель это уже ** int и обращаться с ним нужно соответственно. Вы может писать на чём угодно, но говоря "паскудство", то хотя-бы ознакомьтесь с вопросом и аргументируйте внятно.

Сообщение от Boba_spb Посмотреть сообщение
О хакеры нынче какие !!! Интересно, чем указатель на целое отличается от указателя на массив целых? Иль Вы думаете что элемненты массива разбросаны по памяти, и поэтому надо использовать для массива указатель на указатели, которые указывают на элементы массива
Просто человек когда-то, возможно, пробовал писать на Паскале.
Реклама:

Последний раз редактировалось shindax; 22.10.2014 в 06:23.
shindax вне форума  
Непрочитано 22.10.2014, 09:50  
Boba_spb
Почётный гражданин KAZUS.RUN
 
Регистрация: 08.06.2008
Сообщений: 1,393
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
Boba_spb на пути к лучшему
По умолчанию Re: Не могу вернуть указатель из функции

Сообщение от shindax Посмотреть сообщение
В ассемблере без goto решительно никак. В Си - легко, но, возможно, дань традиции, может какие-то требования регистрирующих организаций.
Оператор GOTO требует хорошего понимания в том, что будет происходить в случае его применения. Поэтому не советуют его применять.

И когда Вы применяете многие другие операторы, то ,знайте, что Вы применяете обвертку от GOTO, которую сделали специально для "малышей" что б по своему недомыслию не натворили дел.

Например, оператор SWITCH - осуществляет GOTO на метки CASE, BREAK из цикла - GOTO на первый оператор за циклом. А операторы FOR? WHILE? В них нет скрытых GOTO? Я уж не говорю, сколько "GOTO" используется на асме. Кесарю - кесарево, слесарю - слесарево !!!
Boba_spb вне форума  
Непрочитано 22.10.2014, 10:52  
shindax
Прописка
 
Регистрация: 04.09.2009
Сообщений: 167
Сказал спасибо: 1
Сказали Спасибо 35 раз(а) в 25 сообщении(ях)
shindax на пути к лучшему
По умолчанию Re: Не могу вернуть указатель из функции

Сообщение от Boba_spb Посмотреть сообщение
Оператор GOTO требует хорошего понимания в том, что будет происходить в случае его применения. Поэтому не советуют его применять.

И когда Вы применяете многие другие операторы, то ,знайте, что Вы применяете обвертку от GOTO, которую сделали специально для "малышей" что б по своему недомыслию не натворили дел.

Например, оператор SWITCH - осуществляет GOTO на метки CASE, BREAK из цикла - GOTO на первый оператор за циклом. А операторы FOR? WHILE? В них нет скрытых GOTO? Я уж не говорю, сколько "GOTO" используется на асме. Кесарю - кесарево, слесарю - слесарево !!!
Я в курсе, что во что генерится. Но не надо класть все яйца в одну корзину. Что в switch, что в while, все генерируемые goto ведут либо в конец цикла, либо в его тело по конкретным адресам. Goto в чистом виде может дать переход в любую точку функции, в обход всей логики, чем и может доставить трудноуловимые ошибки. Так-что не надо про кесаря и про слесаря. В хорошо написаной программе на Си операторов goto или нет совсем, или их мало.

Последний раз редактировалось shindax; 22.10.2014 в 10:54.
shindax вне форума  
Непрочитано 22.10.2014, 11:25  
Boba_spb
Почётный гражданин KAZUS.RUN
 
Регистрация: 08.06.2008
Сообщений: 1,393
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
Boba_spb на пути к лучшему
По умолчанию Re: Не могу вернуть указатель из функции

Сообщение от shindax Посмотреть сообщение
В хорошо написаной программе на Си операторов goto или нет совсем, или их мало.
Хорошо написанная программа - это программа, которая работает без ошибок и выполняет все функции так, как от нее требуется !!!

Поэтому пишу так, как мне удобнее быстрее написать и отладить - все зависит от задачи. Вы же пользуете массу подпрограмм из библиотек и понятия не имеете кем, как и на чем они написаны. И есть там GOTO или нет Вам не ведомо.
Boba_spb вне форума  
Непрочитано 22.10.2014, 11:58  
shindax
Прописка
 
Регистрация: 04.09.2009
Сообщений: 167
Сказал спасибо: 1
Сказали Спасибо 35 раз(а) в 25 сообщении(ях)
shindax на пути к лучшему
По умолчанию Re: Не могу вернуть указатель из функции

Сообщение от Boba_spb Посмотреть сообщение
...Вы же пользуете массу подпрограмм из библиотек и понятия не имеете кем, как и на чем они написаны. И есть там GOTO или нет Вам не ведомо.
Это у Вас, видимо, видение какое-то было, что и как я пишу?
Сообщение от Boba_spb Посмотреть сообщение
Хорошо написанная программа - это программа, которая работает без ошибок и выполняет все функции так, как от нее требуется !!!
Да кто-ж против.
Сообщение от Boba_spb Посмотреть сообщение
Поэтому пишу так, как мне удобнее быстрее написать и отладить - все зависит от задачи.
Пишите на чём и как хотите, я на за что не ратую и никого учить не собирался. Всё зависит для чего, или кого Вы это пишете. Если для себя, то никому до этого нет дела, а если где-то на производстве, или для какой-то бытовой техники, то тут уже не всё так просто.

Вот, кстати, статья про стили программирования, про "удобнее", про "быстрее" и т.п.:
http://anti-toyota.narod.ru/2013-black-november.html

Последний раз редактировалось shindax; 22.10.2014 в 12:24.
shindax вне форума  
Непрочитано 22.10.2014, 14:43  
Boba_spb
Почётный гражданин KAZUS.RUN
 
Регистрация: 08.06.2008
Сообщений: 1,393
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
Boba_spb на пути к лучшему
По умолчанию Re: Не могу вернуть указатель из функции

Сильная статья - особенно про 11000 глобальных перемнных !!!. (при 48 кб Озу в процессоре)

А сколько там глобальных переменных в управлении ABC - даже представить страшно. А в других контроллерах? Блин - на "галстуке" потащу сегодня свою toyotу домой. И срочно ее продам !!!

Ну, хорошо, я занимаюсь программированием уже почти 40 лет, в областях где требуется высочайшая надежность и знаю что при получение массива из пула могу его не получить из-за фрагментации пула или нарваться на чудеса сборки мусора.
Поэтому только статический !!! массив и четкое разделение доступа к нему.

Ну как бы и заслужили некоторое доверие
Миниатюры:
Нажмите на изображение для увеличения
Название: sert_sp_2.jpg
Просмотров: 100
Размер:	131.2 Кб
ID:	70935  
Boba_spb вне форума  
Непрочитано 22.10.2014, 19:38  
shindax
Прописка
 
Регистрация: 04.09.2009
Сообщений: 167
Сказал спасибо: 1
Сказали Спасибо 35 раз(а) в 25 сообщении(ях)
shindax на пути к лучшему
По умолчанию Re: Не могу вернуть указатель из функции

Сообщение от Boba_spb Посмотреть сообщение
...Ну, хорошо, я занимаюсь программированием уже почти 40 лет...
Это что-же Вы программировали 40 лет назад? МЭСМ? БЭСМ?
shindax вне форума  
Непрочитано 22.10.2014, 19:43  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,313
Сказал спасибо: 2,633
Сказали Спасибо 12,076 раз(а) в 6,082 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: Не могу вернуть указатель из функции

Сообщение от shindax Посмотреть сообщение
Это что-же Вы программировали 40 лет назад?
Считаете, что нечего было программировать? Семидесятые годы - начиная от Наири-2 и прочих Проминей, до ЕС-ЭВМ. Поинтересуйтесь историей выч.техники.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor вне форума  
Непрочитано 22.10.2014, 22:30  
Boba_spb
Почётный гражданин KAZUS.RUN
 
Регистрация: 08.06.2008
Сообщений: 1,393
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
Boba_spb на пути к лучшему
По умолчанию Re: Не могу вернуть указатель из функции

Последовательность была примерно такая PDP11, СМ3, СМ4, СМ1420, СМ1600 и закончилось на СМ1700. (попутно электргника 60 и электроника 85 и электроника 100/25). Ну уж а затем перешли на интеловские процессоры. Естественно и свой процессор вот на такой штуке был у нас в 80ые.


А поскольку жизнь идет по спирали, то похоже придется работать с такими
Миниатюры:
Нажмите на изображение для увеличения
Название: image(2979)_1801ая_серия.jpg
Просмотров: 43
Размер:	36.4 Кб
ID:	70941   Нажмите на изображение для увеличения
Название: korpus_ms_1986BE91.jpg
Просмотров: 44
Размер:	68.7 Кб
ID:	70942  
Boba_spb вне форума  
Непрочитано 22.10.2014, 22:35  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,313
Сказал спасибо: 2,633
Сказали Спасибо 12,076 раз(а) в 6,082 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: Не могу вернуть указатель из функции

Не помню нашу Электронику 100 - какая модель - но она была на транзисторах. Гы! И было, таки, чего там программировать!
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor вне форума  
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изучение PIC C Compiler(CCS C) CERGEI1982 Embedd С 2008 26.08.2026 21:20
Книги dosikus Электронная библиотека 11242 29.12.2015 23:45
Помогите найти функции чтения-записи для 24с64 begun AVR 15 05.03.2014 00:00
Расчет функции косинус Nihoden TTL и CMOS логика 26 14.05.2013 16:49
[Решено] Всем эмбеддерам посвящается... Decan Отвлекитесь, эмбеддеры! 0 24.10.2005 14:43


Часовой пояс GMT +4, время: 20:05.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.