Структуры в С++
Как вы уже знаете, переменная в C/C++ объявляется
следующим образом:
int iMyVariable;
В приведенном операторе iMyVariable объявлена как
целая переменная. А вот объявление переменной типа char:
char cMyChar;
Такие типы данных, как int, float, char и long,
являются неотъемлемой частью C/C++ и вам не нужно писать никакого кода, чтобы
сообщить компилятору о том, что означают эти слова. C/C++ позволяет вам также
объ-являть свои собственные, специальные типы данных. В следующем разделе вы
узнаете, как объявлять структуры, которые можно отнести к специальным типам
данных.
Напишите следующий исходный код:
#include
#include
// Объявление структуры.
struct MYSTRUCTURE
{
char sName[100];
int iAge;
};
void main( void )
{
MYSTRUCTURE
MyStructure;
strcpy(MyStructure.sName,
"Andy" );
MyStructure.iAge =
13;
cout
cout
cout
cout
cout
)
В коде, который вы написали, имеются два оператора
#include:
#include
#include
Файл iostream.h включен в код, поскольку в main(void)
используется cout. Файл string.h включается потому, что в main(void)
используется функция strcpy() (объявленная в файле string.h). Затем вы
объявляете структуру:
Struct MYSTRUCTURE
{
char sName[100];
int iAge;
};
Обратите внимание на синтаксис объявления структуры.
Оно начинается с ключевого слова struct, за которым следует имя типа-структуры.
В этой программе типу структуры присвоено имя MYSTRUCTURE. Затем следует
собственно определение структуры, заключенное в фигурные скобки. Не забудьте
поставить точку с запятой после закрывающей фигурной скобки. Теперь посмотрите
на код внутри фигурных скобок:
char sName[100];
int iAge;
Это означает, что MYSTRUCTURE состоит из строки с
именем sName и целого с именем iAge, sName и iAge называются элементами данных
структуры; Вы объявили их "Внутри" cтруктуры MYSTRUCTURE. Код в
main(void) объявляет переменную с именем MyStructure типа MYSTRUCTURE:
MYSTRUCTORE MyStructure;
Вспомните, что в объявляли переменную iNum1 следующим
образом:
int iNum1;
Когда вы объявляете MyStructure , которая будет
структурой типа MYSTRUCTURE, рассматривайте переменную MyStructure аналогично
переменной iNum1. MyStructure - это имя переменной, а ее типом является
MYSTRUCTURE точно так же, как типом переменной iNum1 является int. (Обратите
внимание, что по традиции имя структуры составлено из символов нижнего регистра
или в нем смешаны символы нижнего и верхнего регистров, как, например, в имени
MyStructure, но в имени типа структуры используются только символы верхнего
регистра, как, например, в MYSTRUCTURE.)
Следующий оператор в main(void) копирует строку 'Andy'
в элемент данных MyStructure.sName:
strcpy ( MyStructure.sName, "Andy" );
В этом операторе обращение к элементу данных sName
записано как MyStructure.sName Следующий оператор присваивает значение 13
элементу данных iAge cтруктуры MyStructure: MyStructure.iAge - 13; Затем
выполняется ряд операторов вывода cout:
cout
cout
cout
cout
cout
Сложив все вместе, мы видим, что программа MyStruct выводит сообщение My name is Andy
and I am 13 years old. (Меня зовут Andy и
мне 13 лет)
Список литературы
Для подготовки данной работы были использованы
материалы с сайта http://www.realcoding.net