Программирование на языке высокого уровня. Марапулец Ю.В. - 58 стр.

UptoLike

Составители: 

struct Name
{
char fam[10];
char name[10];
};
void NamePrint(struct Name a)
{
printf("%s\t%s\n",a.fam,a.name);
}
void NameInput(struct Name *a)
{
printf("Введите фамилию:\t");
scanf("%10s",a->fam);
printf("Введите имя:\t");
scanf("%10s",a->name);
}
void main()
{
struct Name first,second;
clrscr();
printf("Программа использующая структуры\n");
NameInput(&first);
NameInput(&second);
NamePrint(first);
NamePrint(second);
printf("\nДля завершения нажмите любую клавишу");
getch();
}
2.8.2. Объединения
Объединение (union) представляет собой частный случай структуры, все поля ко-
торой располагаются по одному и тому же адресу. Формат описания такой же, как у
структуры, только вместо ключевого слова
struct используется слово union. Длина объ-
единения равна наибольшей из длин его полей. В каждый момент времени в переменной
типа объединение хранится только одно значение, и ответственность за его правильное
использование лежит на программисте.
Объединения применяют для экономии памяти в тех случаях, когда известно, что
больше одного поля одновременно не требуется [8]:
include <iostream.h>
int main()
{
enum paytype {CARD, CHECK};
paytype ptype;
union payment {
char card[25];
long check;
} info; // присваивание значений info и ptype
switch (ptype)
{
case CARD: cout << "Оплата по карте: " << info.card; break;
58
struct Name
{
        char fam[10];
        char name[10];
};
void NamePrint(struct Name a)
{
        printf("%s\t%s\n",a.fam,a.name);
}
void NameInput(struct Name *a)
{
        printf("Введите фамилию:\t");
        scanf("%10s",a->fam);
        printf("Введите имя:\t");
        scanf("%10s",a->name);
}
void main()
{
        struct Name first,second;
        clrscr();
        printf("Программа использующая структуры\n");
        NameInput(&first);
        NameInput(&second);
        NamePrint(first);
        NamePrint(second);
        printf("\nДля завершения нажмите любую клавишу");
        getch();
}

     2.8.2. Объединения

     Объединение (union) представляет собой частный случай структуры, все поля ко-
торой располагаются по одному и тому же адресу. Формат описания такой же, как у
структуры, только вместо ключевого слова struct используется слово union. Длина объ-
единения равна наибольшей из длин его полей. В каждый момент времени в переменной
типа объединение хранится только одно значение, и ответственность за его правильное
использование лежит на программисте.
     Объединения применяют для экономии памяти в тех случаях, когда известно, что
больше одного поля одновременно не требуется [8]:

include 
int main()
{
       enum paytype {CARD, CHECK};
       paytype ptype;
       union payment {
               char card[25];
               long check;
       } info;        // присваивание значений info и ptype
       switch (ptype)
       {
               case CARD: cout << "Оплата по карте: " << info.card; break;

                                            58