29.10.2014, 22:47
|
#111
|
Заблокирован
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
|
Re: Не могу вернуть указатель из функции
Это не смертельно. Абстрактное общение подразумевает абстрактное понимание. Там продолжение следует. Щаз примутят квалификаторы и оптимизацию, но это уже не столь интересно.
|
|
|
|
30.10.2014, 09:11
|
#112
|
Прописка
Регистрация: 04.09.2009
Сообщений: 167
Сказал спасибо: 1
Сказали Спасибо 35 раз(а) в 25 сообщении(ях)
|
Re: Не могу вернуть указатель из функции
Сообщение от Easyrider83
|
shindax, применяйте макрос sizeof(array). А то не кошерно константы в открытом виде применять.
|
Посмотрел стандарт С-99 и потёр сообщение. ![Улыбка](images/smilies/icon_smile.gif) Так может компилятор теперь и за размерностью массива следит уже? И после функций alloc, malloc и др. sizeof( array ) тоже верный размер вернёт?
Последний раз редактировалось shindax; 30.10.2014 в 09:14.
|
|
|
|
31.10.2014, 23:56
|
#113
|
Вид на жительство
Регистрация: 07.01.2007
Адрес: Ленинградская обл
Сообщений: 428
Сказал спасибо: 147
Сказали Спасибо 71 раз(а) в 56 сообщении(ях)
|
Re: Не могу вернуть указатель из функции
А для чего здесь C?
Если ответ - для того, что другого языка не знаю, это круто.
Языки вроде С предназначены для програмирования очень больших и сложных программ.
Если же надо поуправлять задвижкой, пожалуйста, ну попробуйте записать это в кодах или на яз ассемблера и т п - Вы увидите, что это не сложнее, чем на XML ею управлять ![Улыбка](images/smilies/icon_smile.gif) зато насколько приятнее и результативнее!
|
|
|
|
01.11.2014, 00:05
|
#114
|
Супер-модератор
Регистрация: 15.10.2007
Сообщений: 3,530
Сказал спасибо: 172
Сказали Спасибо 1,560 раз(а) в 810 сообщении(ях)
|
Re: Не могу вернуть указатель из функции
Сообщение от hacker7
|
А для чего здесь C?
Если ответ - для того, что другого языка не знаю, это круто.
Языки вроде С предназначены для програмирования очень больших и сложных программ.
Если же надо поуправлять задвижкой, пожалуйста, ну попробуйте записать это в кодах или на яз ассемблера и т п - Вы увидите, что это не сложнее, чем на XML ею управлять зато насколько приятнее и результативнее!
|
Си не настолько высокоуровневый, он гораздо ближе к асму, чем вы думаете.
|
|
|
|
01.11.2014, 05:47
|
#115
|
Прописка
Регистрация: 09.08.2007
Адрес: Харьков
Сообщений: 275
Сказал спасибо: 300
Сказали Спасибо 113 раз(а) в 56 сообщении(ях)
|
Re: Не могу вернуть указатель из функции
Сообщение от shindax
|
Увы, так было раньше. Всё для китаиндусов, чтоб они были здоровы.
|
Говорим о С, а не о плюсах! Не нужно путать!
ЗЫ Почему Ся и заслужили свою популярность: - потому что он реально низкоуровневый насколько это возможно для языка высокого уровня!
|
|
|
|
01.11.2014, 05:58
|
#116
|
Прописка
Регистрация: 04.09.2009
Сообщений: 167
Сказал спасибо: 1
Сказали Спасибо 35 раз(а) в 25 сообщении(ях)
|
Re: Не могу вернуть указатель из функции
Сообщение от metrA85
|
Говорим о С, а не о плюсах! Не нужно путать!
|
Я в курсе что такое С и что такое С++.
|
|
|
|
01.11.2014, 06:07
|
#117
|
Прописка
Регистрация: 04.09.2009
Сообщений: 167
Сказал спасибо: 1
Сказали Спасибо 35 раз(а) в 25 сообщении(ях)
|
Re: Не могу вернуть указатель из функции
Сообщение от STM32F0
|
...Что вы сами и подтвердили. Потому что математика с указателями в вашем случае даст один результат, а в случае STM8 - другой. Но для вас это "пустой звук". Звучите дальше!
|
Почитал, поискал. Для указателей в С-99 есть такой квалификатор, как restrict. Достаточно лишь дописать прототип в виде:
void * memcpy(void * restrict s1, const void * restrict s2, size_t n);
и функция memcpy заработает, как прежде, что на x86, что на STM8. Так что Ваши страшилки и далее остаются для меня пустым звуком.
С-99. Параграф 6.7.3.1 Formal definition of restrict
Последний раз редактировалось shindax; 01.11.2014 в 06:21.
|
|
|
|
01.11.2014, 09:18
|
#118
|
Заблокирован
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
|
Re: Не могу вернуть указатель из функции
Сообщение от shindax
|
Почитал, поискал.
|
И дальше поскакал!
Цитата:
|
Для указателей в С-99 есть такой квалификатор, как restrict.
|
Не понял к чему это, но на общем фоне ваш успех выглядит поразительным!
Цитата:
|
Так что Ваши страшилки
|
Вы что-то путаете, я МИСРА не писал.
MISRA-C:2004
1.1 All code shall conform to ISO 9899:1990
Programming languages – C, amended and corrected
by ISO/IEC 9899/COR1:1995, ISO/IEC
9899/AMD1:1995, and ISO/IEC 9899/COR2:1996.
Ни слова про С99, поразительно!
MISRA-C:1998
101 Pointer arithmetic should not be used.
Цитата:
|
остаются для меня пустым звуком.
|
А не надо руку к пустой голове прикладывать. Даже военные об этом знают.
Мда, печальны и скорбны дела у братьев РС'юковых!
|
|
|
|
01.11.2014, 13:44
|
#119
|
Вид на жительство
Регистрация: 07.01.2007
Адрес: Ленинградская обл
Сообщений: 428
Сказал спасибо: 147
Сказали Спасибо 71 раз(а) в 56 сообщении(ях)
|
Re: Не могу вернуть указатель из функции
"Си не настолько высокоуровневый, он гораздо ближе к асму, чем вы думаете".
ещё раз повторю: можно и отвёрткой воробьев ловить, почему нет
Мир может спать спокойно - с такими знаниями технологии (какой инструмент где применять) здесь больше ничего не полетит и не поедет
|
|
|
|
01.11.2014, 14:03
|
#120
|
Гражданин KAZUS.RU
Регистрация: 27.11.2012
Адрес: 30км от Софии
Сообщений: 732
Сказал спасибо: 89
Сказали Спасибо 310 раз(а) в 180 сообщении(ях)
|
Re: Не могу вернуть указатель из функции
byref не пробовали ?
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 22:45.
|
|