Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Микропроцессорная техника Сторожок / MPLAB_C30_Руководство пользователя.pdf
Скачиваний:
161
Добавлен:
20.02.2016
Размер:
1.26 Mб
Скачать
x ? x : y
x ? : y
имеет величину величину y.
Следовательно, выражение:

16-битовый компилятор Си. Руководство

Такой массив значений меток служит целям очень похожим на предназначение оператора switch. Оператор switch понятнее и, следовательно, предпочтительней массива.

Другое использование значений меток возможно в интерпретаторе шитого кода. Метки в пределах функции интерпретатора могут быть записаны в шитый код для быстрой обработки.

Этот механизм рискует быть неправильно применен для переходов в других функциях. Компилятор не может предотвратить такие происшествия, так что требуется аккуратность, чтобы гарантировать, что адрес перехода будет в силе для

текущей функции.

.

 

A

2.4.2. Условные операторы с опущенными операндами

Средний операнд в условном выражении может быть опущен. Тогда, если первый операнд ненулевой, его величина и будет величиной условного выражения.

x если он ненулевой;Wilsonв противном случае выражение имеет

Этот пример является полным эквивалентом для:

В этом простом случае, возможность опускать средний операнд не особенно полезна. Она становится полезной, когда первый операнд производит или может произвести (если он — аргумент макро) побочный эффект. В таком случае повтор операнда в середине долженby вызвать этот побочный эффект дважды. Опущение среднего операнда позволяет использовать уже вычисленную величину без нежелательных эффектов ее повторного пересчета.

2.4.3.TranslatedДиапазоны case

Вы можете определить диапазон последовательных величин на единственной метке case, подобно этому:

case low ... high:

Это имеет тот же эффект, как соответствующая последовательность отдельных case меток, по одной для каждой целой величины от low до high включительно.

Эта возможность особенно полезна для диапазонов символьных кодов ASCII: case 'A'... 'Z':

Будьте осторожны: не забывайте пробелы вокруг многоточия ..., в противном случае конструкция может быть понята неправильно, когда вы используете ее с целыми величинами. Например:

case 1 ... 5:

но не:

case 1...5:

2.5.Отличия выражений

Эта секция описывает различия выражений между чистым ANSI Cи и Cи принятым для компилятора.

2.5.1. Двоичные константы

Последовательность двоичных цифр следующих за 0b или 0B ( цифра '0' и буква 'b' или 'B' после нее), взята для представления двоичных целых. Двоичные цифры — это '0' и '1'. Например, десятичное число 255 может быть записано как 0b11111111.

Подобно другим целым константам, двоичные константы могут снабжаться суффиксом 'u' или 'U', чтобы определить, что они беззнаковые. К двоичной константе

DS51284H(ru) стр. 2-22

© 2008 Microchip Technology Inc.

Глава 2. Отличия 16-битового компилятора от ANSI

может также быть прибавлен суффикс 'l' или 'L', чтобы определить, что она типа long. Аналогично, суффикс 'll' или 'LL' обозначает двоичную константу типа long long.

A . Wilson by Translated

© 2008 Microchip Technology Inc.

DS51284H(ru) стр. 2-23

16-битовый компилятор Си. Руководство

Для заметок.

A . Wilson by Translated

DS51284H(ru) стр. 2-24

© 2008 Microchip Technology Inc.

Соседние файлы в папке Микропроцессорная техника Сторожок