АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Void main(void)

Читайте также:
  1. Динамические структуры данных: стеки
  2. Структура программ на языке Си. Директива процессора, комментарии.

СТРУКТУРЫ

Структура определяет шаблон, с помощью которого ваша программа может позднее объявить одну или несколько переменных. Для определения структуры ваши программы используют ключевое слово struct, за которым обычно следует имя и левая фигурная скобка. Следом за открывающей фигурной скобкой вы указываете тип и имя одного или нескольких элементов. За последним элементом вы размещаете правую закрывающую фигурную скобку. В этот момент вы можете (необязательно) объявить переменные данной структуры:

struct name

{
int member_name_l; | —————— Объявления элементов структуры
float member_name_2; } variable; | ——————————————— Объявление переменной

Например, следующее определение создает структуру, содержащую информацию о служащем:

struct employee

{
char name [64];
long employee_id;
float salary;
char phone[10];
int office_number;
};

Объявление переменных

employee boss, worker, new_employee; //для с++

или

struct employee boss, worker, new_employee; //для с

 


Использование элементов структуры

Структура позволяет вашим программам группировать информацию, называемую элементами, в одной переменной. Чтобы присвоить значение элементу или обратиться к значению элемента, используйте оператор C++ точку (.). Например:

worker.employee_id = 12345;

СТРУКТУРЫ И ФУНКЦИИ

Если функция не изменяет структуру, вы можете передать структуру в функцию по имени. Например:

void show_employee(employee worker)

{
cout << "Служащий: " << worker.name << endl;
cout << "Телефон: " << worker.phone << endl;
cout << "Номер служащего: " << worker. employee_id << endl;
cout << "Оклад: " << worker.salary << endl;
cout << "Офис: " << worker.office_number << endl;
}

Функции, изменяющие элементы структуры

Как вы знаете, если функция изменяет параметр, вам следует передавать этот параметр в функцию с помощью адреса. Если функция изменяет элемент структуры, вы должны передавать эту структуру в функцию с помощью адреса, Для передачи переменной типа структуры с помощью адреса вы просто предваряете имя переменной оператором адреса C++ (&), как показано ниже:

some_function(&worker);

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

pointer_variable->member = some_value;

Например:

#include <iostream.h>

#include <string.h>

Struct employee

{
char name[64];
long employee_id;
float salary;
char phone[10];
int office_number;
};

void get_employee_id(employee *worker)

{
cout << "Введите номер служащего: ";
cin >> worker->employee_id;
}

void main(void)

{
employee worker;

// Копировать имя в строку strcpy(worker.name, "Джон Дой");

get_employee_id(&worker);
cout << "Служащий: " << worker, name << endl;
cout << "Номер служащего: " << worker.employee_id << endl;
}

Как видите, внутри main программа передает переменную worker типа структуры в функцию get_employee_id с помощью адреса. Внутри функции gel_employee_id значение, введенное пользователем, присваивается элементу employee_id с помощью следующего оператора:

cin >> worker->employee_id;


Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.)