Анонимные структуры. Присваивание структурных переменных

Если в каком-либо блоке программы временно необходима только одна структурная переменная того или иного типа, то нет необходимости в использовании имени структуры. Такие структуры называются анонимными или безымянными и объявляются следующим образом:

struct {

float A;

double B;

int C[2];

} V;

Таким образом, в объявлении структуры может отсутствовать либо имя структурированного типа, либо список структурных переменных, но не оба одновременно.

Информация, содержащаяся в одной структурной переменной, может быть присвоена другой структурной переменной того же типа с помощью операции присваивания, то есть не нужно присваивать значение каждого поля по отдельности (что очень удобно). Следующая программа демонстрирует присваивание структурных переменных:

#include <stdio.h>

struct MyType {

float A;

double B;

int C[2];

};

void main()

{

MyType V1, V2;

// заполнение полей переменной V1

V1.A = 0.5;

V1.B = 3.6;

V1.C[0] = 45;

V1.C[1] = 90;

V2 = V1; // присваивание структурных переменных

// вывод полей переменной V2

printf (" %f ", V2.A);

printf (" %lf ", V2.B);

for(int i = 0; i < 2; i++)

printf (" %d ", V2.C[i]);

}

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

0.5 3.6 45 90


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: