2013-07-29

Программирование на языке C. Операции со структурами

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

Coordinate var1, var2;

Следующий оператор присваивает значения переменной var2 переменной var1:

var1 = var2;

Непосредственно сравнивать две структуры нельзя. Оператор, подобный следующему, не будет скомпилирован:

if (varl == var2) /* ??? */

оператор;

Но если вы не можете сравнивать две структуры, то никто не запрещает вам сравнивать их члены. Вот корректный способ выполнения оператора, если переменные var1 и var2 равны:

if ((var1.x == var2.x) && (var1.у == var2.y)) оператор;

Дата - это хороший пример для того, чтобы показать, как структуры помогают упорядочить данные. Три компоненты даты - день, месяц и год - удобно представлять целыми числами. Вы можете объявить структуру даты следующим образом:

typedef struct date {

char day;

char month;

unsigned year;

} Date;

Члены структуры day и month имеют тип char, диапазон значений которого вполне достаточен, чтобы вместить значения дня (от 1 до 31) и месяца (от 1 до 12). Член структуры year имеет тип unsigned int. Данный код демонстрирует использование структуры Date.

#include

typedef struct dateStruct {

char day;

char month;

unsigned year;

} Date;

main()

{

Date date;

printf("Date test\n");

date.day = 1;

date.month = 7;

date.year = 2013;

printf("The date is: %02d.%02d.%04d\n", date.month, date.day, date.year);

return 0;

}

В строках 14-16 происходит присваивание значений членам структуры date. В строках 17-18 оператор printf() выводит эти значения на экран, добавляя точки и ведущие нули для удобства отображения:

Date test

The date is: 01.07.2013

Вы можете присваивать начальные значения членам структуры прямо в объявлении. Используйте следующую форму записи:

struct name var = {элементы};

Здесь name - имя структуры, var - переменная данного структурного типа, элементы - константные выражения для присваивания членам структуры. Отделяйте константы запятыми, располагая их в соответствии с порядком объявленных в структуре членов. Например, следующая запись присвоит дату 1.09.2014 переменной date:

Date date = {1, 9, 2014};

Источник

Все новости>>
 

 

2021-04-01

Google сообщил о запуске проекта Dunant

Проект Dunant, начатый в 2018 году, был запущен в эксплуатацию. Трансатлантический интернет-кабель соединяет США и континентальную Европу. Общая протяженность...

подробнее
2020-04-06

Новшества в обновленной Windows 10

Корпорация Microsoft завершила разработку обновления, в котором добавлено множество функций. Обновление содержит как доработку уже имеющихся систем, так...

подробнее

 

Все новости...

 

Научно-Техническое Объединение

Тел.: 8(915)882-95-28

E-mail:e-mail