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

3388
знаков
0
таблиц
0
изображений

Как вы уже знаете, переменная в 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


Информация о работе «Структуры в С++»
Раздел: Информатика, программирование
Количество знаков с пробелами: 3388
Количество таблиц: 0
Количество изображений: 0

Похожие работы

Скачать
4611
0
0

... First; } Пример. Напечатать в порядке возрастания первые n натуральных чисел, в разложение которых на простые множители входят только числа 2, 3, 5. Алгоритм решения. Введем три очереди x2, x3, x5, в которых будем хранить элементы, которые соответственно в 2, 3, 5 раз больше напечатанных, но еще не напечатаны. Рассмотрим наименьший из ненапечатанных элементов; пусть это x. Тогда он делится ...

Скачать
7132
0
1

... по той причине, что скорость поиска в них примерно такая же, что и в отсортированных массивах: O(n) = C • log2n (в худшем случае O(n) = n). Пример. Для набора данных 9, 44, 0, –7, 10, 6, –12, 45 построить двоичное дерево поиска. Согласно определению двоичного дерева поиска число 9 помещаем в корень, все значения, меньшие его — на левое поддерево, большие или равные — на правое. В каждом ...

Скачать
23945
0
0

... внетекстовом символизме. В первом случае одна часть текста имеет своим означаемым другое, во втором случае речь идет о толковании в обычном значении этого слова, т.е. о переходе от литературного текста к критическому (именно к этому обычно сводят интерпретацию вообще); толкование в свою очередь определяется различными герменевтиками, то есть абстрактными правилами, регламентирующими этот процесс. ...

Скачать
8310
0
0

... -принудительное применение к правонарушителю любых неблагоприятных для него мер. [1] Наиболее конструктивным, оправданным с точки зрения единства интересов теории и практики, представляется понимание юридической ответственности как имеющей сложную структуру, включающую в себя два аспекта: ретроспективный (ответственность за "неправомерное прошлое"), а также позитивный (ответственность "наперед ...

0 комментариев


Наверх