Разработка, производство и продажа радиоэлектронной аппаратуры
|
Карта сайта
|
Пишите нам
|
В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:
jobsmp@pochta.ru
Телесистемы
|
Электроника
|
Конференция «Микроконтроллеры и их применение»
Такой вот синтаксис намного круче...
Отправлено
POV
17 июня 2008 г. 21:55
В ответ на:
Полуофф на Си. Разные имена одной переменной без укозателей и сцылок :-) >>
отправлено <font color=gray>VasilyS</font> 17 июня 2008 г. 21:45
function(BYTE *buffer, BYTE len)
{
...
*buffer++ = x;
...
}
откуда x - не важно. я это увидел в коде чтения данных по ЭСПИАЙ
Оптимизация сомнительна, а читаемость кода не автором строк нулевая! А то массив нулевой длины, делов-то :))
Составить ответ
|
Вернуться на конференцию
Ответы
какая нулевая ? 100% читабельность. Это же классика - strcpy - *dst++ = *src++
—
DASM
(17.06.2008 21:56:52
212.58.208.91
,
пустое
)
Квассика? А вот такой ++ не работает как постскриптный. Приоритетам подчин...{+}(+)
—
VasilyS
(17.06.2008 22:29:16
80.92.96.25
, 657 байт)
А вот вам другое извращение
—
vitalyn
(18.06.2008 09:57:57
192.168.1.101,195.140.182.162
, 195 байт)
Ну, даже не компилируя скажу, что gcc выдаст предупреждение в духе operation may be undefined on 'i'
—
ReAl
(18.06.2008 13:50:2
89.162.152.53
,
пустое
)
Не угадал.
—
vitalyn
(18.06.2008 17:55:37
89.189.191.4
, 125 байт)
-Wall -Wextra ??? и GCC не выдал предупрежедния? Не верю. То, что скомпилировал и дал такой же, как ещё кто-то результат - верю. Но что при включенных предупреждениях не поворчал - не верю. По крайней мере в С-режиме. (+)
—
ReAl
(18.06.2008 20:33:28
89.162.152.53
, 475 байт)
классика это *src++ = val; Массивы и прочее не надо приплетать сюда
—
DASM
(17.06.2008 22:30:22
212.58.208.91
,
пустое
)
А чего бы и не приплести. В первой строке ++ инкрементировал то, что ему и положено было - указатель b[0] Т.е. это то же *src++, только src это c[0] который b[0]
—
ReAl
(18.06.2008 13:58:5
89.162.152.53
,
пустое
)
+50
—
Vit
(18.06.2008 00:26:35
77.123.173.98
,
пустое
)
хы, классика. это ж надо помнить приоритеты операций!!! :) Проще скобочки и отдельные строки. И как быть с двойным (многократным) вызовом ++ в одной строке? Меня за это уже пинали тут томами спецификации С..
—
POV
(17.06.2008 21:59:21
91.203.64.17
,
пустое
)
ну не помнить приоритеты - это вообще свинство.
—
DASM
(17.06.2008 22:04:6
212.58.208.91
,
пустое
)
Не раз весьма крупные спецы мне говорили, что разумнее не выёживаться и писать более развёрнуто. Код в результате будет одинаковый, а исходник зачастую намного нагляднее.
—
POV
(17.06.2008 22:05:50
91.203.64.17
,
пустое
)
некрупный спец, но тоже стараюсь не выеживаться в Си :) Но *x++ - это действительно понятная всем классика
—
DASM
(17.06.2008 22:10:34
212.58.208.91
,
пустое
)
Когда первый раз увидел и запомнил, то да. А вот как быть с твоим примером и двумя ++ в одной строке? Стандарт гарантирует корректность?
—
POV
(17.06.2008 22:12:31
91.203.64.17
,
пустое
)
гарантирует, но статью я не помню
—
DASM
(17.06.2008 22:14:59
212.58.208.91
,
пустое
)
Это же касается бОльшего числа скобок. Пробелами разнести их пошире и исходник читается легко инет путаницы с приоритетатми особов строках...
—
POV
(17.06.2008 22:08:11
91.203.64.17
, 129 байт)
Классика - это #define TRUE FALSE // Счастливой отладки!
—
vmp
(17.06.2008 21:58:22
77.232.15.245
,
пустое
)
фи какая бестактность. Более утонченно и занимательно #define else /* счастливых вечерофф */
—
Vit
(18.06.2008 00:32:25
77.123.173.98
,
пустое
)
все это фигня, я тут в есliрsе (линух) в начале одного *.h файла случайно буковку нажал и сохранил этот файл. Гну комилер сразу мильон ошибок на все файлы проекта. Дооолго я не мог понять по его еrrоr меssаgе, чем же ему слово tуреdеf и т.д. не нравицо, день убил в холодном поту (ну тока щас все работало типа, и все вдруг епнулось), но букву эту нашел, и руганулсо по самое не хочу :))))
—
ы
(18.06.2008 02:25:46
217.118.66.30
,
пустое
)
Отправка ответа
Имя*:
Пароль:
E-mail:
Тема*:
Сообщение:
Ссылка на URL:
URL изображения:
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 13:
Перейти к списку ответов
|
Конференция
|
Раздел "Электроника"
|
Главная страница
|
Карта сайта
Web
telesys.ru