Содержание

Алфавитный список разделов

L
L-значения
v
void
А
Автоматическая продолжительность хранения
Аддитивные операторы
Арифметические преобразования
Б
Библиотечные функции
Битовые поля
В
Визуально выравнивайте декларации объектов
Висячий else
Включение заголовочных и исходных файлов
Внешние определения
Выбирайте подходящие имена
Вывод диагностических сообщений
Выводимые типы
Вызов функции
Выражения
Г
Глоссарий
Группирование кода с близкой функциональностью
Группируйте статические объекты
Д
Деклараторы
Декларации __far, __near и __huge
Декларации __interrupt
Декларации const и volatile
Декларации объектов
Декларации объектов
Декларации функций
Делайте отступы для выделения структуры кода
Диапазоны типов
Директивы #ifdef и #ifndef
Директивы препроцессора
Директивы препроцессора
Для чего эта книга
Дополнительные примеры макроподстановок
З
Забытый break в команде switch
И
Идентификаторы
Идентификаторы
Изменение модулей
Изменение номера строки и имени файла
Изолирование системно-зависимого кода
Изолирование системно-зависимого кода в модулях
Индексация массива
Инициализация массивов
Инициализация объединений
Инициализация объектов
Инициализация скалярных типов
Инициализация структур
Использование
Использование препроцессора для облегчения переносимости
Используйте static для большинства функций
Используйте включаемые файлы для организации структур
Используйте комментарии
Используйте прототипы функций
История
К
Квалификаторы
Класс памяти auto
Класс памяти extern
Класс памяти register
Класс памяти static
Классы памяти
Ключевое слово __far Watcom C/16
Ключевое слово __far Watcom C/32
Ключевое слово __huge Watcom C/16
Ключевое слово __near Watcom C/16
Ключевое слово __near Watcom C/32
Ключевые слова
Ключевые слова Watcom C/16 и C/32
Ключевые слова __far16 и _Seg16
Ключевые слова компилятора
Команда break
Команда continue
Команда do
Команда for
Команда goto
Команда if
Команда return
Команда switch
Команда while
Команды
Команды выбора
Команды перехода
Команды-выражения
Комментарии
Конвертирование аргумента в стринг
Константные выражения
Константы
Константы с плавающей точкой
Л
Лексика
Лишние точки с запятой в определении макро
М
Макро NULL
Макро offsetof
Макро для численных пределов
Макроподстановки
Малая и большая модели данных
Малая и большая модели кода
Массивы
Массивы и указатели
Многобайтовые символы
Модульность
Мультипликативные операторы
Н
Наборы символов
Написание переносимых программ
Не делайте слишком много в одной команде
Не используйте goto слишком часто
Не используйте повторно имена статических объектов
Неинициализированные объекты
Неожиданный приоритет операторов
Нотация
О
Область видимости имени
Обход реализационно-зависимого поведения
Объединения
Однообразие
Окружение
Оператор sizeof
Оператор запятая
Оператор логического И
Оператор логического ИЛИ
Оператор побитового И
Оператор побитового ИЛИ
Оператор побитового исключающего ИЛИ
Оператор приведения типа
Операторы взятия адреса и косвенности
Операторы отношения
Операторы присваивания
Операторы равенства
Операторы сдвига
Определение выражений
Определение декларации
Определение идентификатора
Определение ключевого слова
Определение команды
Определение константы
Определение лексемы
Определение оператора
Определение разделителя
Определение стрингового литерала
Определение типа
Основные типы
Основные элементы языка
Остерегайтесь длинных имён с внешней связью
Относительные указатели Watcom C/16 и C/32
П
Параметры функции main
Первичные выражения
Передача дополнительной информации компилятору
Переменные списки аргументов
Переопределение макро
Перечисления
Побочные эффекты в макро
Поведение касающееся команд
Повторное сканирование для дальнейших подстановок
Подстановка аргументов
Полное скрытие данных
Помеченные команды
Постфиксные инкремент и декремент
Постфиксные операторы
Правила использования регистра в именах объектов и функций
Пределы трансляции
Предопределённые макро Watcom C/16 и C/32
Преимущества
Преобразование аргументов по умолчанию
Преобразование типов
Преобразования знаковых и беззнаковых целых
Преобразования типов с плавающей точкой в целые
Преобразования целых в типы с плавающей точкой
Препроцессор
Префиксные инкремент и декремент
Пример программы
Примеры деклараций
Приоритет операторов
Присвоение вместо сравнения
Простое присваивание
Простые подстановки аргументов
Прототипы функций
Пустая директива
Пустые команды
Р
Расширенные символьные константы
Расширенные стринговые литералы
Реализационно-зависимое поведение
Регистры
С
Свободные указатели
Символьные константы
Символьные типы
Склеивание аргументов
Скрытая ошибка во включаемом файле
Скрытие данных
Смешивание моделей памяти
Содержание
Составное присваивание
Составные команды
Сохраняйте функции небольшими
Специальные возможности
Специальные типы указателей Watcom C/16
Специальные типы указателей Watcom C/32
Спецификаторы типа
Алфавитный список разделов
Стандартные ключевые слова
Стандартные предопределённые макро
Статическая продолжительность хранения
Стиль программирования
Стринги
Стринговые литералы
Структура выражений
Структуры
Структуры, объединения, перечисления и битовые поля
Т
Тело функции
Типы с плавающей точкой
Типы с плавающей точкой
Трансляция
Триграфы
У
Указатели
Указатели и объекты относительно сегментной константы
Указатели относительно самих себя
Указатели относительно сегментного объекта
Уменьшение времени перекомпиляции
Унарные арифметические операторы
Унарные операторы
Условное включение строк исходного кода
Условный оператор
Ф
Фазы трансляции
Файл memos.c
Файл memos.h
Формальная грамматика C
Функции
Ц
Целочисленное расширение
Целочисленные константы
Целочисленные типы
Целые типы
Циклические команды
Ч
Частичное скрытие данных
Часто встречающиеся ошибки
Численные пределы для типов с плавающей точкой
Численные пределы для целых типов
Члены структур и объединений
Э
Эквивалентные типы
Эскейп-последовательности