Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lekcii_1_10 / Лекция 10.pptx
Скачиваний:
33
Добавлен:
21.05.2015
Размер:
294.21 Кб
Скачать

struct bal {

float balance;

char name[80];

} person;

bal *p; // Объявляем указатель на структуру.

Тогда при выполнении инструкции

р = &person;

в указатель р будет помещен адрес

структурной переменной person.

К членам структуры можно получить

доступ с помощью указателя на эту структуру. Но в этом случае используется не оператор "точка", а оператор "->".

p->balance

Оператор "->" называется оператором "стрелка". Он образуется с использованием знаков "минус" и

"больше".

Оператор "стрелка" (->) позволяет

Указатель на структуру можно

использовать в качестве параметра функции.

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

Первый тип time_t, предназначен для

представления системного времени и даты в виде длинного целочисленного значения, которое используется в качестве календарного времени.

Второй тип представляет собой структуру tm, которая содержит отдельные элементы даты и времени. Такое представление времени называют

поэлементным.

Структура tm имеет следующий формат.

struct tm {

int tm_sec; /* секунды, 0-59 */

int tm_min; /* минуты, 0-59 */

int tm_hour; /* часы, 0-23 */

int tm_mday; /* день месяца, 1-31 */

int tm_mon; /* месяц, начиная с января, 0-11

*/

int tm_year; /* год после 1900 */

int tm_wday; /* день, начиная с воскресенья, 0-6 */

int tm_yday; /* день, начиная с 1-го января,

0-365 */

int tm_isdst /* индикатор летнего времени */

}

Основным средством определения

времени и даты в C++ является функция time(), которая имеет такой прототип:

time_t time(time_t *curtime);

Чтобы преобразовать календарное

время в поэлементное, используйте функцию localtime(), которая имеет такой прототип:

struct tm *localtime(const time_t *curtime);

// Эта программа отображает текущее системное время.

#include <iostream>

#include <ctime> using namespace std; int main()

{

struct tm *ptr;

time_t lt;

lt = time('\0');

ptr = localtime(<);

cout << ptr->tm_hour << ':' << ptr->tm_min;

cout << ':' << ptr->tm_sec;

return 0;

}

Вот один из возможных результатов

выполнения этой программы:

14:52:30

Ссылки на структуры

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

// Демонстрируем использование ссылки на структуру. #include <iostream>

using namespace std; struct mystruct

{

int a; int b;

};

mystruct &f(mystruct &var); int main()

{

mystruct x, y;

x.a = 10; x.b = 20;

cout << "Исходные значения полей x.a and x.b: ";

cout << x.a << ' ' << x.b << '\n';

y = f (x);

cout << "Модифицированные значения полей x.a и x.b: ";

cout << x.a << ' ' << x.b << '\n';

cout << "Модифицированные значения полей y.a и y.b: ";

cout << y.a << ' ' << y.b << '\n';

return 0;

}

Соседние файлы в папке lekcii_1_10