Разработка, производство и продажа радиоэлектронной аппаратуры
|
Карта сайта
|
Пишите нам
|
В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:
jobsmp@pochta.ru
Телесистемы
|
Электроника
|
Конференция «Микроконтроллеры и их применение»
по АНСИ си допускает несколько операций присваивания и итерации, про инициализацию вроде ничего не оговаривается, выносите ее "во вне "
Отправлено
RED_DRAGON
(213.242.214.185)
02 марта 2011, г. 12:16
В ответ на:
вопрос знатокам СИ
отправлено
mandigit
02 марта 2011, г. 11:53
Составить ответ
|
Вернуться на конференцию
Ответы
у него ++ явно включен
-
DASM
(02.03.2011, 12:18:28
89.163.14.219
,
пустое
)
операция запятая входит в стандарт СИ без плюсов, а вот определение переменной в блоке- это наверное расширение плюсов.
-
mandigit
(02.03.2011, 12:43:5
85.140.253.203
,
пустое
)
Определять переменных в блоке позволяет обычный Си. А вот в условии цикла - только Си++.
-
Юрий_СВ
(02.03.2011, 13:00:33
213.5.199.158
,
пустое
)
в сях - только до операторов.
-
DASM
(02.03.2011, 13:19:35
89.163.14.219
,
пустое
)
Да. Но судя по тому, что он лепит определение в "условие цикла" (init) - в начале блока его вполне устроит.
-
Юрий_СВ
(02.03.2011, 14:12:52
213.5.199.158
,
пустое
)
а вы влепите определение в начало блока и попробуйте к этому определению обратится в условии цикла.
-
mandigit
(02.03.2011, 14:39:30
85.140.253.203
,
пустое
)
и собсно нахрена это надо кроме запутывания заказчега к примеру :))), количество конечных асм инструкций это не уменьшит
-
RED_DRAGON
(02.03.2011, 12:17:15
213.242.214.185
,
пустое
)
компилятор знает, что эта переменная используется только внутри блока цикла и умеет вне блока использовать эту память для других целей.
-
mandigit
(02.03.2011, 12:48:30
85.140.253.203
,
пустое
)
Тоже не понимаю, зачем вы лепите переменные в условие. Определяйте их в блоке.
-
Юрий_СВ
(02.03.2011, 13:03:22
213.5.199.158
,
пустое
)
в какое условие ?? У него они в init лепятся. У него отсутсвует loop expession - это другой вопрос.
-
DASM
(02.03.2011, 13:27:52
89.163.14.219
,
пустое
)
да, отсутствует. что тут кромольного?
-
mandigit
(02.03.2011, 14:40:27
85.140.253.203
,
пустое
)
ничего
-
DASM
(02.03.2011, 14:42:24
89.163.14.219
,
пустое
)
ф каком? цикл оно и есть блок.
-
mandigit
(02.03.2011, 13:10:51
85.140.253.203
,
пустое
)
Цикл это не блок. Блок - это кусок, ограниченный фигурными скобками. Где тут блок : for(i<5;i++) d
=0; ?
-
Юрий_СВ
(02.03.2011, 14:11:0
213.5.199.158
,
пустое
)
здесь два блока
-
mandigit
(02.03.2011, 14:24:8
85.140.253.203
, 199 байт)
если это вызывается не в main() то похер где объявить - всё равно локальная будет переменная. Либо так...
-
POV
(02.03.2011, 13:28:54
217.150.45.109
, 215 байт)
не, не похер - глубина стека будет разная
-
mandigit
(02.03.2011, 14:25:27
85.140.253.203
,
пустое
)
Отправка ответа
Имя*:
Пароль:
E-mail:
Тема*:
Сообщение:
Ссылка на URL:
URL изображения:
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 97:
Перейти к списку ответов
|
Конференция
|
Раздел "Электроника"
|
Главная страница
|
Карта сайта
Web
telesys.ru