Описати масив розмірністю 3, елементами якого є структура
Структура "Стадіон": назва; рік будівлі; кількість площадок; види спорту.
Сформувати динамічний масив і заповнити його елементами заданого масиву, вивести новий масив на екран. Звільнити виділену пам'ять за допомогою функції free().
Текст програми:
#include <stdio.h>
#include <stdlib.h>
int k, m;
void main() {
struct stadion {
char nazva[20];
int rik;
int kp;
char vsporty[20];}
*ptr1, nst1[3]= {{ "UKRAINE",1970, 12, "FYTBOL"},
{ "ARENADON",1980, 10, "BOKS"},
{"DNIPRO",1990, 10, "FYTBOL"}};
/*Виділяється 3*sizeof (struct stadion) пам’яті */
ptr1= malloc(3*sizeof (struct stadion));
for (k=0; k<3; k=k+1)
{ptr1[k]=nst1[k];
printf("k=%s\t%d\t%d\t%s\n", ptr1[k].nazva, ptr1[k].rik , ptr1[k].kp ,
ptr1[k]. vsporty); }
free (ptr1);
}
Результати роботи програми
k=UKRAINE 1970 12 FYTBOL
k=ARENADON 1980 10 BOKS
k=DNIPRO 1990 10 FYTBOL
Контрольні запитання
1. В чому різниця між функціями розподілу пам’яті. malloc() і calloc()?
2. З допомогою якої функції звільняється пам’ять?
3. Що таке динамічний розподіл пам’яті?
4. В чому різниця між структурою і масивом. ?
5. Яким символом позначається операція звернення до елементу структури?
6. З допомогою якого ключового слова описується структура?