Форум города Днепр (Днепропетровска)
Форум города Днепр

Вернуться   Форум города Днепр (Днепропетровска) > КОМПЬЮТЕРЫ и программы > Онлайн уроки > Уроки C++

Уроки C++ Уроки C++

Ответ
 
Опции темы Опции просмотра
Старый 18.02.2011, 14:12   #1
Strelok
Бессмертный
 
Аватар для Strelok
 
Регистрация: 22.01.2009
Адрес: Ф жДуНгЛяХ
Сообщений: 1,388
Сказал(а) спасибо: 134
Поблагодарили 614 раз(а) в 333 сообщениях
Настроение: Angelic
Вес репутации: 383
Strelok репутация неоспоримаStrelok репутация неоспоримаStrelok репутация неоспоримаStrelok репутация неоспоримаStrelok репутация неоспоримаStrelok репутация неоспоримаStrelok репутация неоспоримаStrelok репутация неоспоримаStrelok репутация неоспоримаStrelok репутация неоспоримаStrelok репутация неоспорима
По умолчанию Структуры в С++

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

int iMyVariable;


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

char cMyChar;


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

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

#include <iostream>
#include <string.h>
using namespace std;
// Объявление структуры.
struct MYSTRUCTURE
{
char sName[100];
int iAge;
};
void main( void )
{
MYSTRUCTURE MyStructure;
strcpy(MyStructure.sName, "Vladimir" );
MyStructure.iAge = 27;
cout << "My name is ";
cout << MyStructure.sName;
cout << " and I am ";
cout << MyStructure.iAge;
cout << " years old." << endl;
cin.get();
} << endl;


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

#include <iostream>
#include <string>


Файл iostream включен в код, поскольку в main(void) используется cout. Файл string включается потому, что в main(void) используется функция strcpy() (объявленная в файле string). Затем вы объявляете структуру:

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) копирует строку 'Vladimir' в элемент данных MyStructure.sName:

strcpy ( MyStructure.sName, "Vladimir" );

В этом операторе обращение к элементу данных sName записано как MyStructure.sName Следующий оператор присваивает значение 27 элементу данных iAge cтруктуры MyStructure: MyStructure.iAge - 27; Затем выполняется ряд операторов вывода cout:

cout << "My name is ";
cout << MyStructure.sName;
cout << " and I am ";
cout << MyStructure.iAge;
cout << " years old." << endl;

Сложив все вместе, мы видим, что программа MyStruct выводит сообщение My name is Vladimir and I am 27 years old. (Меня зовут Vladimir и мне 27 лет)
__________________
Strelok вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 14:55. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.7.0
Copyright ©2000 - 2024, vBulletin Solutions Inc. Перевод: zCarot