C. Бочков - Язык программирования Си для персонального компьютера

Тут можно читать онлайн C. Бочков - Язык программирования Си для персонального компьютера - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-programming, издательство СП Диалог, Радио и связь, год 1990. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Язык программирования Си для персонального компьютера
  • Автор:
  • Жанр:
  • Издательство:
    СП Диалог, Радио и связь
  • Год:
    1990
  • ISBN:
    5-256-00974-5
  • Рейтинг:
    4/5. Голосов: 101
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

C. Бочков - Язык программирования Си для персонального компьютера краткое содержание

Язык программирования Си для персонального компьютера - описание и краткое содержание, автор C. Бочков, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

Книга содержит полное описание наиболее распространенных реализаций языка программирования Си на 16-разрядных микроЭВМ, совместимых с IBM PC. Приведено описание стандартных библиотек языка.

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

Язык программирования Си для персонального компьютера - читать онлайн бесплатно полную версию (весь текст целиком)

Язык программирования Си для персонального компьютера - читать книгу онлайн бесплатно, автор C. Бочков
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

<���Идентификатор> именует битовое поле. Его наличие, однако, необязательно. Неименованное битовое поле означает пропуск соответствующего числа битов перед размещением следующего элемента структуры. Неименованное битовое поле, для которого указан нулевой размер, имеет специальное назначение: оно гарантирует, что память для следующей переменной в этой структуре (в том числе и для следующего битового поля) будет начинаться на границе машинного слова ( int). В версии 5.0 СП MSC выравнивание будет производиться на границу того типа, который задан для неименованного битового поля ( char, intили long).

Битовое поле не может выходить за границу ячейки объявленного для него типа. Например, битовое поле, объявленное с типом unsigned int, упаковывается либо в пространство, оставшееся в текущей ячейке unsigned intот размещения предыдущего битового поля, либо, если предыдущий элемент структуры не был битовым полем или памяти в текущей ячейке недостаточно, в новую ячейку unsigned int.

В СП ТС битовое поле может иметь либо тип unsigned int, либо тип signed int. Поля целого типа хранятся в дополнительном коде; крайний левый бит — знаковый. Например, битовое поле типа signed intразмером 1 бит может только хранить значение ‑1 и 0, т.к. любое ненулевое значение будет интерпретироваться как -1.

Примеры:

/* пример 1 */

struct {

float х, у;

} complex;

/* пример 2 */

struct employee {

char name [20];

int id;

long class;

} temp;

/* пример 3 */

struct employee student, faculty, staff;

/* пример 4 */

struct sample {

char h; float *pf;

struct sample *next; )x;

/* пример 5 */

struct {

unsigned icon: 8;

unsigned color: 4;

unsigned underline: 1;

unsigned blink: 1;

} screen [25][80];

В первом примере объявляется переменная с именем complex, имеющая тип структура. Эта структура состоит из двух элементов х и у типа float. Тип структуры не поименован, поскольку тег в объявлении отсутствует.

Во втором примере объявляется переменная с именем temp, имеющая тип структура. Структура состоит из трех элементов с именами name, id и class. Элемент с именем name — это массив из 20 элементов типа char. Элементы с именами id и class — это простые переменные типа intи longсоответственно. Структурный тип поименован тегом employee.

В третьем примере объявлены три переменные типа структура с именами student, faculty и staff. Объявление каждой из этих структур ссылается на структурный тип employee, определенный в предыдущем примере.

В четвертом примере объявляется переменная с именем х типа структура. Тип структуры поименован тегом sample. Первые два элемента структуры — переменная h типа char и указатель рf на значения типа float. Третий элемент с именем next объявлен как указатель на структуру того же самого типа sample.

В пятом примере объявляется двумерный массив с именем screen, элементы которого имеют структурный тип. Массив состоит из 2000 элементов. Каждый элемент — это отдельная структура, состоящая из четырех элементов — битовых полей с именами icon, color, underline и blink.

Объявление объединения

Объединение позволяет в разные моменты времени хранить в одном объекте значения различного типа. В процессе объявления объединения с ним ассоциируется набор типов значений, которые могут храниться в данном объединении. В каждый момент времени объединение может хранить значение только одного типа из набора. Контроль над тем, какого типа значение хранится в данный момент в объединении, возлагается на программиста. Синтаксис:

union [< тег >] {< список-объявлений-элементов >} < описатель > [,< описатель >…];

union < тег > < описатель > [, < описатель >…];

Объявление объединения специфицирует его имя и совокупность объявлений переменных, называемых элементами объединения, которые могут иметь различные типы.

Объявление объединения имеет тот же синтаксис, что и объявление структуры, за исключением того, что оно начинается с ключевого слова union, а не с ключевого слова struct. Кроме того, СП MSC (в отличие от СП ТС) не допускает в объединении битовые поля.

Память, которая выделяется переменной типа объединение, определяется размером наиболее длинного из элементов объединения. Все элементы объединения размещаются в одной и той же области памяти с одного и того же адреса. Значение текущего элемента объединения теряется, когда другому элементу объединения присваивается значение.

Примеры:

/* пример 1 */

union sign {

int svar;

unsigned uvar;

} number;

/* пример 2 */

union {

char *a, b;

float f[20];

} jack;

В первом примере объявляется переменная типа объединение с именем number. Список объявлений элементов объединения содержит две переменных: svarтипа intи uvarтипа unsigned. Это объединение позволяет запоминать целое значение в знаковом или беззнаковом виде. Тип объединения поименован тегом sign.

Во втором примере объявляется переменная типа объединение с именем Jack. Список объявлений элементов содержит три объявления: указателя ана значение типа char, переменной bтипа charи массива жиз 20 элементов типа float. Тип объединения не поименован тегом. Память, выделяемая переменной jack, равна памяти, необходимой для хранения массива f, поскольку это самый длинный элемент объединения.

Объявление массива

Синтаксис:

[ < спецификация типа ] > < описатель >[ < константное выражение >];

[< спецификация типа ]> < описатель >[];

Квадратные скобки, следующие за описателем, являются элементом языка Си, а не признаком необязательности синтаксической конструкции.

Массив позволяет хранить как единое целое последовательность переменных одинакового типа. Объявление массива определяет тип элементов массива и его имя. Оно может определять также число элементов в массиве. Переменная типа массив участвует в выражениях как константа - указатель на значение заданного спецификацией типа. Если спецификация типа опущена, предполагается тип int.

Объявление массива может иметь одну из двух синтаксических форм, указанных выше. Квадратные скобки, следующие за < описателем >, являются признаком типа массив. Если < описатель > представляет собой идентификатор (имя массива), то объявляется массив элементов специфицированного типа. Если же < описатель > представляет собой более сложную конструкцию (см. раздел 3.3.1), то каждый элемент массива имеет тип, заданный совокупностью < спецификации типа > и оставшейся части описателя. Это может быть любой тип, кроме типов voidи функция. Таким образом, элементы массива могут иметь базовый, перечислимый, структурный тип, быть объединением, указателем или, в свою очередь, массивом.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


C. Бочков читать все книги автора по порядку

C. Бочков - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Язык программирования Си для персонального компьютера отзывы


Отзывы читателей о книге Язык программирования Си для персонального компьютера, автор: C. Бочков. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x