Стивен Прата - Язык программирования C. Лекции и упражнения (6-е изд.) 2015

Здесь есть возможность читать онлайн «Стивен Прата - Язык программирования C. Лекции и упражнения (6-е изд.) 2015» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Год выпуска: 0101, Издательство: Вильямс, Жанр: Старинная литература, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Язык программирования C. Лекции и упражнения (6-е изд.) 2015: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Язык программирования C. Лекции и упражнения (6-е изд.) 2015»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

Язык программирования C. Лекции и упражнения (6-е изд.) 2015 — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Язык программирования C. Лекции и упражнения (6-е изд.) 2015», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

struct book gift= {.value = 18.90,

.author = "Philionna Pestle",

0.25};

Значение 0.25 присваивается члену value, поскольку он находится непосредственно после члена author в объявлении структуры. Новое значение 0.25 заменяет собой указанное ранее значение 18.90. Теперь, располагая базовыми знаниями, вы готовы расширить свой кругозор и ознакомиться с несколькими типами, в которых задействованы структуры. Вы увидите массивы структур, структуры структур, указатели на структуры и функции, которые обрабатывают структуры.

Массивы структур

Давайте расширим программу каталога книг для поддержки большего количества книг Очевидно, что каждая книга может быть описана одной переменной типа book. Чтобы описать две книги, необходимы две такие переменные и т.д. Для поддержки нескольких книг понадобится массив структур подобного рода, и его мы создадим в программе, показанной в листинге 14.2. (Если вы имеете дело с Borland C/C++, ознакомьтесь с врезкой “Borland С и плавающая запятая” далее в главе.)

572 глава 14

Структуры и память

В программе manybook.c применяется массив из 100 структур. Поскольку массив является объектом с автоматическим классом хранения, информация обычно размещается в стеке. Крупный массив такого рода требует области памяти приличного размера, что может вызвать проблемы. Если во время выполнения вы получаете сообщение об ошибке, возможно, уведомляющее о переполнении стека, то ваш компилятор, скорее всего, использует стандартный размер для стека, который слишком мал для этого примера. Чтобы исправить положение, вы можете с помощью опций компилятора установить размер стека в 10000, обеспечив достаточное место для данного массива структур, или же сделать массив статическим либо внешним (тогда он не будет размещаться в стеке); можно также уменьшить размер массива, к примеру, до 16. А почему мы изначально не выбрали массив небольшого размера? Причина в том, что вы должны знать об этой потенциальной проблеме с размером стека и уметь справляться с ней, когда она возникнет в будущей практике.

Листинг 14.2. Программа manybook.c

Структуры и другие формы данных 573 Borland С и плавающая запятая Ранние - фото 429

Структуры и другие формы данных 573

Borland С и плавающая запятая Ранние компиляторы Borland С пытались делать - фото 430

Borland С и плавающая запятая

Ранние компиляторы Borland С пытались делать программы более компактными за счет применения сокращенной версии функции scanf(), если в программах не использовались значения с плавающей запятой. Тем не менее, эти компиляторы (до версии Borland C/C++ 3.1 для DOS, но не Borland C/C++ 4.0) допускают просчет, если значения с плавающей запятой содержатся только внутри массива структур, как в случае листинга 14.2. В результате вы получаете сообщение, подобное следующему:

scanf : floating point formats not linked Abnormal program termination

scanf : форматы с плавающей запятой не подключены Аварийное завершение программы

Это можно обойти путем добавления в программу такого кода:

#include double dummy = sin(0.0);

Данный код приводит к принудительной загрузке версии scanf() с плавающей запятой.

Вот результаты пробного запуска:

Введите название книги.

Нажмите [enter] в начале строки, чтобы закончить ввод.

Му Life as a Budgie Теперь введите ФИО автора.

Mack Zackles Теперь введите цену.

12.95

Введите название следующей книги.

...ввод информации о других, книгах...

Каталог ваших книг:

Му Life as a Budgie авторства Mack Zackles: $12.95

Thought and Unthought Rethought авторства Kindra Schlagmeyer: $43.50 Concerto for Financial Instruments авторства Filmore Walletz: $49.99 The CEO Power Diet авторства Buster Downsize: $19.25

574 глава 14

C++ Primer Plus авторства Stephen Prata: $59.99

Fact Avoidance: Perception as Reality авторства Polly Bull: $19.97

Coping with Coping авторства Dr. Rubin Thonkwacker: $0.02

Diaphanous Frivolity авторства Neda McFey: $29.99

Murder Wore a Bikini авторства Mickey Splats: $18.95

A History of Buvania, Volume 8 авторства Prince Nikoli Buvan: $50.04

Mastering Your Digital Watch, 5nd Edition авторства Miklos Mysz: $28.95

A Foregone Confusion авторства Phalty Reasoner: $5.99

Outsourcing Government: Selection vs. Election авторства Ima Pundit: $33.33

Для начала мы объясним, как объявлять массивы структур и получать доступ к индивидуальным членам. После этого мы проанализируем два аспекта программы.

Объявление массива структур

Объявление массива структур подобно объявлению любого другого вида массива, например:

struct book library[MAXBKS];

Здесь library объявляется как массив, содержащий MAXBKS элементов. Каждый элемент этого массива является структурой типа book. Таким образом, library [0] — одна структура типа book, library [1] — вторая структура типа book и т.д.

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

Интервал:

Закладка:

Сделать

Похожие книги на «Язык программирования C. Лекции и упражнения (6-е изд.) 2015»

Представляем Вашему вниманию похожие книги на «Язык программирования C. Лекции и упражнения (6-е изд.) 2015» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «Язык программирования C. Лекции и упражнения (6-е изд.) 2015»

Обсуждение, отзывы о книге «Язык программирования C. Лекции и упражнения (6-е изд.) 2015» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x