Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Общая форма объявления структуры



struct   тип структуры  
{      
тип   имя элемента 1;
тип   имя элемента 2;
тип п имя элемента п;
};      

После закрывающей фигурной скобки «}» в объявлении структуры обязательно ставится точка с запятой.

Пример объявления структуры

St ruct date
{    
  int day;
  int month;
  int year;
};    

Элементы структуры располагаются в памяти ЭВМ в том же порядке, в котором они объявляются.

При объявлении структур, их разрешается вкладывать одну в другую.

Пример

St { ruct persone  
char fam[20] r
  char im[2 0];  
  char ot[20];  
  struct date bd;
};      

Здесь одним из элементов структуры persone является структура типа date с именем структурной переменной bd (birthday).

Инициализация структуры может осуществляться двумя способами:

• присвоение значений элементам структуры в процессе объявления переменной, относящейся к типу структуры;

• присвоение начальных значений элементам структуры с использованием функций print/n scan/.

В первом случае инициализация осуществляется по следующей форме:

struct тип структуры имя переменной= {значение элемента 1, значение элемента 2,

значение элемента п};.

Второй случай не отличается от способа инициализации объектов языка Си уже известных типов.


Для обращения к элементу структуры нужно указать не только имя самого элемента, но и имя переменной. Они разделяются точкой:

имя_переменной.имя_элемента.

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

Пример

struct complex_type

{

double real;

doubl imag; } number;

В этом примере элементами структуры будут переменные number.real и number imag.

Пример 1. Объявление и инициализация структуры

/* Объявление структуры comput er, */  
/* состоящей из двух элементов : model и memor y.*/
St { ruct computer          
char model[30];        
}; int memory;          
/* Объявление и инициализация переменной*/  
/* Elecom типа computer. */      
St ruct computer Elecom = = {"IBM PC Pentium 4", 1024};

Пример 2. Объявление и инициализация структуры

#include <stdio.h>  
main () { /^Объявление структуры типа data.  
*/
struct data { int day;  
 
char month[10];  

int year; };  
/^Объявление структуры типа person;*/  
/*одним из элементов структуры person*/  
/^является структурная переменная bo! типа data.*/
struct person { char fam[20];  
 
char im[20];  
char ot[20];  
struct data bd; };  
/^Объявление структурной переменной indl* /
/*типа person.*/  
struct person indl;  
printf ("\n Укажите через Enter фамилию, имя,
отчество,");  
printf ("\n День, месяц и год рождения гражданина
indl\n");  
/* Ввод сведений о гражданине indl. */  
scant ("%s%s%s%d%s%d", indl.fam, indl.im, indl.ot,
&indl.bd.day, &indl.bd.month. &indl.bd.ye ar);
/* Вывод сведений о гражданине indl. */  
printf ("\n\n Сведения о гражданине indl: \n\n");
printf ("Фамилия, имя, отчество: \t%s %s %s\t \n",
indl.fam, indl.bd.month, indl.be } .year);




Дата публикования: 2014-11-04; Прочитано: 266 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2025 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.162 с)...