Шаг 60.
Microsoft Visual C++ 2010. Язык С/С++.
Указатели и структуры данных. Структуры. Объявление структур

    На этом шаге мы рассмотрим различные способы задания структур.

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

struct man
{
  char name[80];  //имя 
  char phone_number[80];  //телефон 
  int age;  //возраст 
  int height; //рост
};

    Так задается шаблон будущего экземпляра структуры. Здесь man - имя шаблона. То, что находится в теле, ограниченном фигурными скобками, - эте члены структуры-шаблона (под такое объявление компилятор память не выделяет). На основе такого шаблона создается экземпляр структуры, под который память уже выделяется и с которым можно работать в программе. Экземпляры структуры создаются несколькими путями:


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

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

struct date {
  int day;  //день недели 
  int month;   //номер месяца 
  int year;   //год
  char monthname[4];   //название месяца
}; 
struct person {
  char name[30];     //имя
  char adress[70];   //домашний адрес
  long mailcod;   //почтовый код
  float salary;     //заработная плата
  date birthdate;   //дата рождения
  date hiredate;   //дата поступления на работу
}emp[1000],*р;

    Это типичный пример объявления личной карточки работника (реальная карточка содержит намного больше данных). Здесь объявлен указатель на структуру и массив структур шаблона person. Если такой массив заполнить получим данные на 1000 работников.


   Примечание. Указатель на структуру - это не экземпляр структуры (экземпляр структуры объявляется как emp[]), а указатель, которому в дальнейшем будen присвоен адрес некоторой структуры, с ее элементами можно будет работать через указатель.

    На следующем шаге мы рассмотрим обращение к элементам структур.




Предыдущий шаг Содержание Следующий шаг