- •Структура — это группа связанных переменных.
- •struct inv_type
- •Чтобы с помощью этой структуры
- •struct inv_type
- •Если для программы достаточно только
- •Общий формат объявления
- •Доступ к членам структуры
- •Следовательно, чтобы вывести значение
- •с помощью этого кода можно
- •Массивы структур
- •Разрабатываемая программа должна обеспечить выполнение следующих действий:
- •int main()
- •// Инициализация массива структур.
- •// Получение команды меню, выбранной пользователем.
- •char *strchr(const char *str, int ch);
- •// Ввод элементов в инвентарную ведомость.
- •// Ввод информации.
- •// Модификация существующего элемента. void update()
- •// Отображение на экране инвентарной ведомости. void display()
- •Передача структур функциям
- •Присваивание структур
- •Эта программа генерирует следующие
- •struct stype1
- •Использование указателей на
- •Чтобы найти адрес структурной
- •struct bal {
- •К членам структуры можно получить
- •Указатель на структуру можно
- •Первый тип time_t, предназначен для
- •Структура tm имеет следующий формат.
- •Основным средством определения
- •Чтобы преобразовать календарное
- •// Эта программа отображает текущее системное время.
- •Вот один из возможных результатов
- •Ссылки на структуры
- •// Функция, которая получает и возвращает ссылку на
Структура — это группа связанных переменных.
В C++ структура представляет собой коллекцию объединенных общим именем переменных, которая обеспечивает удобное средство хранения родственных данных в одном месте.
Переменные, составляющие структуру, называются ее членами. Члены структуры также называют элементами или полями.
struct inv_type
{
char item[40]; // наименование товара
double cost; // стоимость
double retail; // розничная цена
int on_hand; // имеющееся в наличии количество
int lead_time; // число дней до пополнения
запасов
};
Имя структуры — это ее спецификатор типа.
Чтобы с помощью этой структуры
объявить реальную переменную (т.е. физический объект), нужно записать инструкцию, подобную следующей.
inv_type inv_var;
struct inv_type
{
char item[40]; // наименование товара
double cost; // стоимость
double retail; // розничная цена
int on_hand; // имеющееся в наличии количество
int lead_time; // число дней до пополнения
запасов
} inv_varA, inv_varB, inv_varC;
Если для программы достаточно только
одной структурной переменной, в ее определение необязательно включать имя структурного типа. Рассмотрим следующий пример:
struct {
char item[40]; // наименование товара
double cost; // стоимость
double retail; // розничная цена
int on_hand; // имеющееся в наличии
количество
int lead_time; // число дней до пополнения запасов
} temp;
Общий формат объявления
структуры выглядит так.
struct имя_типа_структуры
{
тип имя_элемента1;
тип имя_элемента2;
тип имя_элемента3;
.
.
.
тип имя_элементаN;
} структурные_переменные;
Доступ к членам структуры
К отдельным членам структуры доступ осуществляется с помощью оператора "точка". Например, при выполнении следующего кода значение 10.39 будет присвоено полю cost структурной переменной inv_var, которая была объявлена выше.
inv_var.cost = 10.39;
Следовательно, чтобы вывести значение
поля cost на экран, необходимо выполнить следующую инструкцию.
cout << inv_var.cost;
Аналогичным способом можно использовать символьный массив inv_var.item в вызове функции gets().
gets(inv_var.item);
Здесь функции gets() будет передан символьный указатель на начало области памяти, отведенной элементу
item.
с помощью этого кода можно
посимвольно вывести на экран содержимое массива inv_var.item.
int t;
for(t=0; inv_var.itern[t]; t++)cout << inv_var.item[t];