Скачать презентацию Створення динамічних масивів int psome new Скачать презентацию Створення динамічних масивів int psome new

lek_7.ppt

  • Количество слайдов: 12

Створення динамічних масивів int * psome = new int [10]; delete [ ] psome; Створення динамічних масивів int * psome = new int [10]; delete [ ] psome; Зауваження int * pi = short * ps delete [ ] delete ps; new int; = new short [500]; pi; // не бажано

# include <iostream> # include <conio. h> using namespace std; int main () { # include # include using namespace std; int main () { double * p 3 = new double [3]; p 3[0] = 0. 2; p 3[1] = 0. 5; p 3[2] = 0. 8; cout << "p 3[1] = " << p 3[1] << 'n'; p 3 = p 3 + 1; cout << "p 3[0] = " << p 3[0] << 'n'; cout << "p 3[1] = " << p 3[1] << 'n'; p 3 = p 3 -1; delete [] p 3; getch(); return 0; }

Типи даних, що визначаються користувачем • Створення нового типу typedef тип ім’я_типу [розмірність]; Приклади: Типи даних, що визначаються користувачем • Створення нового типу typedef тип ім’я_типу [розмірність]; Приклади: 1. typedef unsigned short int kilkist; kilkist k 1, k 2; 2. typedef char Sms[100]; Sms str[20];

 • Зліченний тип Утворюється зі списку іменованих сталих цілого типу. enum [ім’я_типу] {список_констант}; • Зліченний тип Утворюється зі списку іменованих сталих цілого типу. enum [ім’я_типу] {список_констант}; enum [ім’я_типу]={список_констант}; Наприклад: enum week = {mon, tue, wed}; enum colors = {red = 1, green, yellow=6, white}; Імена констант повинні бути унікальними, а значення можуть співпадати.

 • Структури struct [ім’я_типу] { <тип_поля_1> <назва_поля_1>; … <тип_поля_n> < назва_поля_n >; } • Структури struct [ім’я_типу] { <тип_поля_1> <назва_поля_1>; … <тип_поля_n> < назва_поля_n >; } [список змінних і вказівників]; Приклад: 1. struct grupa { char name[20], surname[20]; float ser_bal; };

2. 3. 4. struct grupa { char name[20], surname[20]; float ser_bal; } gr 1, 2. 3. 4. struct grupa { char name[20], surname[20]; float ser_bal; } gr 1, gr 2, *p; struct grupa { char name[20], surname[20]; float ser_bal; }gr = {“Ярмоленко”, “Петро”, 4. 6}; struct complex{ float real, im; }copml [2][3] = { {{1, 1}, {1, 1}}, {{2, 1}, {1, 3}, {2, 3}} };

 • Для змінних одного і того ж структурного типу може бути застосована операція • Для змінних одного і того ж структурного типу може бути застосована операція присвоєння. • Структуру можна предавати в функцію і повертати як значення функції. Доступ до полів структури. 1. <ім’я змінної>. <назва поля> gr 1. name = “Петров”; 2. <назва вказівника>-><назва поля> p->ser_bal = 4. 8;

Бітові поля – особливий вид полів структури. Вони використовуються для щільного зберігання даних. Під Бітові поля – особливий вид полів структури. Вони використовуються для щільного зберігання даних. Під час опису після імені через двокрапку вказується довжина поля в бітах (ціла додатня константа). Адресу поля отримати не можна, але у всьому іншому використовуються так само як і поля стуктури. Ім’я поля може бути відсутнє. Розміщення бітових полів у пам’яті залежить від компілятора і апаратури.

Наприклад: struct Options{ bool Cen_X: 1; bool Cen_Y: 1; unsigned int shadow: 2; unsigned Наприклад: struct Options{ bool Cen_X: 1; bool Cen_Y: 1; unsigned int shadow: 2; unsigned int palette: 4; };

 • Об’єднання – це окремий випадок структури, усі поля якої знаходяться за однією • Об’єднання – це окремий випадок структури, усі поля якої знаходяться за однією і тією ж адресою. У певний момент часу у змінній цього типу зберігається лише одне значення. Застосовують лише у тому випадку, коли відомо, що більше одного поля одночасно не вимагається. Довжина об’єднання дорівнює найбільшому полю. union distance { int miles; long meters; };

#include <iostream> using namespace std; void main(void) { union distance { int miles; long #include using namespace std; void main(void) { union distance { int miles; long meters; } walk; walk. miles = 5; cout << walk. miles << endl; walk. meters = 10000; cout <

 • Об’єднання може ініціалізуватися тільки значенням першого елемента. • Об’єднання не може містити • Об’єднання може ініціалізуватися тільки значенням першого елемента. • Об’єднання не може містити бітові поля. • Об’єднання не може містити віртуальні методи, конструктори, деструктои і операцію присвоєння. • Об’єднання не може входити в ієрархію класів.