string array c implementation representation with examples
Рядковий масив у C ++ - це масив рядків. У цьому посібнику ми розглянемо деталі представлення та реалізації рядкових масивів у C ++:
Ми бачили масиви на C ++ у наших попередніх підручниках. Масиви дозволяють нам оголошувати елементи даних різного типу. Тоді як масиви всіх числових типів даних ідентичні за операціями та реалізацією, а масиви із рядковим типом даних різні.
який найкращий постачальник послуг електронної пошти
У C ++ рядок може бути представлений у вигляді масиву символів або за допомогою класу рядків, який підтримується C ++. Кожен рядок або елемент масиву закінчується нульовим символом. Представлення рядків із використанням масиву символів береться безпосередньо з мови „C”, оскільки в C. немає типу рядка.
=> Клацніть тут для безкоштовного курсу C ++.
Що ви дізнаєтесь:
Впровадження рядкових масивів
У C ++ рядки можуть бути представлені трьома способами.
- Використання двовимірних символьних масивів: У цьому поданні використовуються двовимірні масиви, де кожен елемент є перетином номера рядка та стовпця і представляє рядок
- Використання рядкового ключового слова: Ми також можемо використовувати ключове слово рядок C ++ для оголошення та визначення масивів рядків.
- Використання векторів STL: Ми можемо використовувати вектори STL, де кожен елемент вектора є рядком.
Тепер обговоримо кожен із наведених вище методів, а також побачимо приклади програмування для кожного подання.
Використання двовимірних символьних масивів
Рядові масиви або масив рядків можуть бути представлені за допомогою спеціальної форми двовимірних масивів. У цьому поданні ми використовуємо двовимірний масив символів типу для представлення рядка.
Перший вимір визначає кількість елементів, тобто рядки в цьому масиві, а другий вимір визначає максимальну довжину кожного елемента в масиві.
Тож ми можемо використовувати загальне подання, як показано нижче.
char “stringarrayname” (“number of strings”) (“maximum length of the string”)
Наприклад,розглянемо таку декларацію:
char string_array(10) (20);
Вищевказана декларація декларує масив рядків з назвою „string_array”, який має 10 елементів і довжина кожного елемента не більше 20.
Ми можемо оголосити та ініціалізувати масив тварин за допомогою рядків таким чином:
char animals (5) (10) = {“Lion”, “Tiger”, “Deer”, “Ape”, “Kangaroo”};
Побачимо приклад програмування, що використовує концепцію двовимірних масивів символів, щоб краще зрозуміти цю концепцію.
#include using namespace std; int main() { char strArray(5) (6) = {'one', 'two', 'three', 'four', 'five'}; cout<<'String array is as follows:'< Вихід:

У наведеній вище програмі ми оголосили масив рядків, який називається strArray розміром 5, а максимальна довжина кожного елемента - 10. У програмі ми ініціюємо цикл for для відображення кожного елемента масиву. Зверніть увагу, що нам просто потрібно отримати доступ до масиву, використовуючи перший вимір для відображення елемента.
Легкий доступ до елементів - одна з головних переваг 2-D масивів. Вони дійсно прості в програмуванні.
Основним недоліком представлення цього типу є як розміри масиву, тобто кількість елементів, так і максимальна довжина елемента, є фіксованими і не можуть бути змінені, як ми хочемо.
По-друге, ми вказуємо максимальну довжину кожного елемента як другий вимір під час оголошення масиву. Якщо довжина рядка вказана як 100, і ми маємо всі елементи, які мають меншу довжину, тоді пам'ять марно витрачається.
Використання рядка Ключове слово
У цьому ми використовуємо ключове слово «рядок» у C ++ для оголошення масиву рядків. На відміну від масивів символів, тут ми маємо лише 1D масив. Розмір підошви визначає кількість рядків у масиві.
Загальний синтаксис для оголошення масиву рядків із використанням ключового слова string подано нижче:
string “array name” (“number of strings”);
Зауважте, що ми не вказуємо тут максимальну довжину рядка. Це означає, що немає обмежень щодо довжини елементів масиву.
Як приклад, ми можемо оголосити масив імен кольорів наступним чином.
string colors(5);
Ми можемо далі ініціалізувати цей масив, як показано нижче:
string colors(5) = {“Red”, “Green”, “Blue”, “Orange”, “Brown”};
Нижче наведено програму на C ++ для розуміння ключового слова string та його використання в масиві рядків.
#include using namespace std; int main() { string numArray(5) = {'one', 'two', 'three', 'four', 'five'}; cout<<'String array is as follows:'< Вихід:

Ми змінили попередню програму масивів символів і продемонстрували використання ключового слова string. Результат роботи програми однаковий, але спосіб його досягнення різний, оскільки ми визначаємо масив рядків за допомогою ключового слова string.
Зверніть увагу, що масив рядків із використанням ключового слова string має ту перевагу, що ми не маємо обмежень щодо довжини рядків у масиві. Оскільки обмежень немає, ми також не втрачаємо місця в пам'яті.
Недоліком цього масиву є фіксований розмір. Нам потрібно попередньо оголосити розмір масиву.
Використання векторів STL
Ми також можемо використовувати вектори STL для оголошення та визначення динамічних масивів. Таким чином, для визначення масиву рядків ми можемо мати вектор STL типу string.
Це оголошення масиву рядків з використанням вектора показано нижче:
vector “stringarray_Name”;
Посилаючись на вищезазначену декларацію, ми можемо оголосити вектор 'суб'єктами' наступним чином:
vector mysubjects;
Зверніть увагу, що ми можемо призначати елементи вектору за допомогою методу “push_back” або будь-яких інших векторних методів STL.
Нижче наведено приклад програмування з використанням C ++ для демонстрації використання вектора STL для представлення масиву рядків.
#include #include using namespace std; int main() { vector myNumbers; myNumbers.push_back('one'); myNumbers.push_back('two'); myNumbers.push_back('three'); myNumbers.push_back('four'); myNumbers.push_back('five'); cout<<'String array is as follows:'< Вихід:

У наведеній вище програмі ми маємо STL вектор myNumbers типу string. Далі ми додаємо елементи до цього вектора за допомогою методу push_back, а потім відображаємо кожен з елементів вектора.
Якщо ми бачимо всю роботу вектора STL і масив рядків, ми бачимо, що в цьому випадку ми не маємо обмеження на кількість елементів у масиві або максимальну довжину кожного елемента. Ми бачимо, що масив рядків із використанням векторів є повністю динамічним і може бути динамічно зменшений або збільшений.
Як вибрати подання для використання?
Тепер, коли ми побачили всі три подання рядкових масивів, ми можемо зробити висновок, що з усіх трьох подань векторне подання є найкращим, оскільки воно є динамічним за своєю суттю.
Це залежить від призначення та вимог масиву рядків. Коли ми маємо вимогу, що нам потрібен масив рядків фіксованого розміру, і ми знаємо точні дані, які будуть надходити до масиву рядків, тоді ми можемо вибрати масив символів або подання рядка.
Коли ми хочемо, щоб масив рядків динамічно зростав або зменшувався, ми можемо вдатися до векторного подання, оскільки це допоможе нам розробляти програми, динамічно змінюючи масив.
Висновок
Рядкові масиви - це спеціальні масиви, що мають дані у вигляді рядків. Це означає, що кожен елемент масиву є рядком, який закінчується нульовим символом.
тип тестування в програмній інженерії
Ми детально обговорили три уявлення рядкового масиву, а також їх плюси і мінуси. Залежно від наших вимог; ми можемо використовувати будь-яке представлення масиву рядків, яке підходить для нашої реалізації.
У наступних підручниках ми продовжимо детально вивчати рядки C ++ та функції C ++.
=> Прочитайте навчальну серію Easy C ++.
Рекомендована література
- Підручник з довжини масиву Java із прикладами коду
- Рядок Java із підручником для буфера рядків та побудови рядків
- Підручник з рядків C # - Рядові методи з прикладами коду
- Функції рядка Python
- Масиви C ++ з прикладами
- Рядки в C ++ з прикладами
- Випадкове число C # та генератор випадкових рядків C # із прикладами коду
- Сортування купи в C ++ із прикладами