Структуры в С++

Как вы уже знаете, переменная в C/C++ объявляется следующим образом:


int iMyVariable;


В приведенном операторе iMyVariable объявлена как целая переменная. А вот объявление переменной типа char:


char cMyChar;


Такие типы данных, как int, float, char и long, являются неотъемлемой частью C/C++ и вам не нужно писать никакого кода, чтобы сообщить компилятору о том, что означают эти слова. C/C++ позволяет вам также объ-являть свои собственные, специальные типы данных. В следующем разделе вы узнаете, как объявлять структуры, которые можно отнести к специальным типам данных.


Напишите следующий исходный код:


#include <iostream.h>


#include <string.h>


// Объявление структуры.


struct MYSTRUCTURE


{


char sName[100];


int iAge;


};


void main( void )


{


MYSTRUCTURE MyStructure;


strcpy(MyStructure.sName, "Andy" );


MyStructure.iAge = 13;


cout << "My name is ";


cout << MyStructure.sName;


cout << " and I am ";


cout << MyStructure.iAge;


cout << " years old." << endl;


)


В коде, который вы написали, имеются два оператора #include:


#include <iostream.h>


#include <string.h>


Файл 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 << "My name is ";


cout << MyStructure.sName;


cout << " and I am ";


cout << MyStructure.iAge;


cout << " years old." << endl;


Сложиввсевместе, мывидим, чтопрограмма MyStruct выводитсообщение My name is Andy and I am 13 years old. (Меня зовут Andy и мне 13 лет)

Сохранить в соц. сетях:
Обсуждение:
comments powered by Disqus

Название реферата: Структуры в С++

Слов:465
Символов:4136
Размер:8.08 Кб.