Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпори частина 2.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
656.84 Кб
Скачать
  1. Рядки. Подання рядків у пам’яті. Ініціалізація. Рядкові літерали.

Рядки. Подання рядків у пам’яті. Ініціалізація. Рядкові літерали.

Рядок - це послідовність символів. Як відомо, послідовності в С++ представляються масивами або покажчиками. Програми на C++ зберігають  рядки як масиви типу char. Для оголошення  строкової змінної усередині програми просто оголосіть масив типу char з кількістю елементів, достатнім для зберігання необхідних символів.

char s[64];

Головна відмінність між символьними рядками та іншими типами масивів полягає в тому, що C++ визначає останній елемент масиву. Програми на C ++ представляють кінець символьного рядка за допомогою символу NULL, який в C++ зображується як спеціальний символ '\ 0', або нульовий байт.

Створення рядків

Проілюструємо створення рядків на фрагментах коду з коментарями.

char str1[10]; // Рядок - масив з 10 символів.               // Початкове значення символів не визначено. char str2[10]="Hello"; /* Використовується ініціалізація (не присвоювання!). У перші 5 символів записується "Hello", у 6 - нуль-термінатор, значення трьох останніх не визначено.*/

char str3[10]={'H', 'e', 'l', 'l', 'o', '\0'}; //еквівалентно попередньому.. char str4[10]="Verylongline"; // Помилка. // Масив з 10 елементів не можна ініціювати довшої послідовністю

char str5[]="Verylongline"; // А так можна. Масив з 15 елементів.

Присвоєння рядків

Перший і найочевидніший спосіб присвоювання рядків - присвоювання окремих символів.

Наприклад,

str1[0]=’H’;

str1[1]=’e’;

str1[2]=’l’;

str1[3]=’l’;

str1[4]=’o’;

str1[5]=’\0’;

Інші способи:

char s[200]; // масив з кількістю елементів, достатнім для зберігання необхідних символів

cin>>s;      // ввід з консолі до першого пробілу або до натиснення «Enter»

cin.getline(s, 200);  // ввід з до натиснення «Enter» 200 – максимальна кількість символів

  1. Рядки. Ввід - вивід рядків.

  1. Структуровані типи даних: рядки у С. Стандартні функції пошуку у рядку.

  1. Структуровані типи даних: рядки у С. Порівняння рядків. Конкатенація рядків.

  1. Бібліотечні функції копіювання, перетворення рядків. Приклади..

  1. Бібліотечні функції для об’єднання рядків, розбиття рядка на лексеми. Приклади.

  1. Масиви рядків. Оголошення. Ініціалізація. Обробка.

  2. Обробка масивів структур чи об’єднань у С++.

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

Struct <ім’я шаблону><ім’я структурної змінної>[розмірність];

Наприклад: struct stt d[100];

Визначений масив d, що складається зі 100 елементів типу stt.

У цьому разі компілятор виділяє пам’ять зі 100 елементів stt, довжина кожного з яких є сумою довжин елементів структури stt.

  1. Структури та об’єднання у С++. Мета використання.

Структура - це іменована сукупність змінних можливо різних типів, розташована в пам'яті послідовно один за одним. Структури називаються користувача типами даних і допомагають в організації складних даних, оскільки дозволяють групу пов'язаних між собою змінних трактувати не як безліч окремих елементів, а як єдине ціле. Об'єднання - це змінна, яка може містити (у різні моменти часу) об'єкти різних типів і розмірів. Всі вимоги щодо розмірів і вирівнювання виконує компілятор. Об'єднання дозволяють зберігати різнорідні дані в одній і тій же області пам'яті без включення в програму машинно-залежної інформації.

Об'єднання застосовується для наступних цілей: - Ініціалізації використовуваного об'єкта пам'яті, якщо в кожний момент часу лише один об'єкт з багатьох є активним; - Інтерпретації основного подання об'єкта одного типу, як якщо б цього об'єкту було присвоєно інший тип.

Використання об'єднань не тільки економить пам'ять, але дає також можливість різної інтерпретації значень в пам'яті.

Обєднання слугують для зберігання (послідовного, не одночасного) в деякій ділянці оперативної памяті компютера даних різних типів. Потреба в цьому виникає наприклад під час створення таблиці з даними ріхних типів.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]