Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Структуры С

Личные типы данных

Встроенные типы данных

План лекции

Лекция 6.1. Структуры в языке С.

1. Встроенные типы данных

2. Личные типы данных

3. Структуры С

4. Структуры и функции

5. Примеры использования структур из библиотек

 

 

В C/С++ существуют встроенные простые типы данных (char, int, double и т.д.) Тип переменных говорит о:

§ их размере в памяти;

§ какую информацию они могут хранить;

§ какие действия (операции) можно совершить над ними.

 

 

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

§ typedef – синоним стандартного типа;

§ enum – перечисление;

§ struct – структура, запись;

§ class – класс.

 

 

 

Структуры языка С используются для описания данных сложных объектов, например таких как автомобиль, дом, личность, животное и т.д. Представляют собой набор переменных разных типов.


// Пример 6.1.1

// Пример программы с простой структурой языка С

#include <iostream>

using namespace std;

// объявление структуры для карандаша

// члены-данные, свойства, поля (data members, properties, fields)

// длина-см.; диаметр-мм.; резинка; цвет; цена; подпись

typedef unsigned short int USHORT;

enum MyColor {Red, Yellow, Green, Blue, Black, Simple};

 

struct Pencil {

USHORT itsLength;

USHORT itsRadius;

bool itsLastic;

MyColor itsColor;

float itsPrice;

char itsCaption[31];

};

 

// Главная функция

int main() {

setlocale(LC_ALL, "Russian"); // для вывода на экран русского текста

// объявление структурных переменных(объектов)

//Pencil p; //мусор

Pencil p={140,12,true,MyColor::Red,1.8,"Standard"};//инициализация

// обработка структурных переменных(объектов)

// просмотр сведений

cout << "Длина: " << p.itsLength << endl

<< "Радиус: " << p.itsRadius << endl

<< "Резинка: " << p.itsLastic << endl

<< "Цвет: " << p.itsColor << endl

<< "Цена: " << p.itsPrice << endl

<< "Надпись: " << p.itsCaption << endl << endl << endl;

cin.get();

// определение сведений

p.itsLength=100;

p.itsRadius=10;

p.itsLastic=true;

p.itsColor=MyColor::Black;

p.itsPrice=1.5;

//p.itsCaption="KOHINOR"; // присваивание строк С-стиля -> ошибка

strcpy(p.itsCaption,"KOHINOR");

// просмотр сведений

cout << "Длина: " << p.itsLength << endl

<< "Радиус: " << p.itsRadius << endl

<< "Резинка: " << p.itsLastic << endl

<< "Цвет: " << p.itsColor << endl

<< "Цена: " << p.itsPrice << endl

<< "Надпись: " << p.itsCaption << endl << endl << endl;

cin.get();

return 0;

}


 

<== предыдущая лекция | следующая лекция ==>
Распределение памяти при использовании функций | Структуры и функции
Поделиться с друзьями:


Дата добавления: 2014-01-03; Просмотров: 242; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.015 сек.