МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах
РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ" ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах Гендерна антидискримінаційна експертиза може зробити нас моральними рабами ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів
Контакти
Тлумачний словник Авто Автоматизація Архітектура Астрономія Аудит Біологія Будівництво Бухгалтерія Винахідництво Виробництво Військова справа Генетика Географія Геологія Господарство Держава Дім Екологія Економетрика Економіка Електроніка Журналістика та ЗМІ Зв'язок Іноземні мови Інформатика Історія Комп'ютери Креслення Кулінарія Культура Лексикологія Література Логіка Маркетинг Математика Машинобудування Медицина Менеджмент Метали і Зварювання Механіка Мистецтво Музика Населення Освіта Охорона безпеки життя Охорона Праці Педагогіка Політика Право Програмування Промисловість Психологія Радіо Регилия Соціологія Спорт Стандартизація Технології Торгівля Туризм Фізика Фізіологія Філософія Фінанси Хімія Юриспунденкция |
|
|||||||
Основні теоретичні відомостіВ мовах С та С++ існують достатньо розвинені засоби для обробки символьної інформації, такі як введення/виведення окремих символів та рядків, функції для визначення належності символів та рядків, об'єднання рядків, перетворення їх. Рядок - це послідовність символів, що заключенні у подвійні лапки. Транслятор додає в кінець кожного рядка нульовий байт ‘\0’, так що програма, що переглядає рядок, може знайти її кінець. Приклад: cout<<“This is character string”; Кожна рядкова константа, навіть якщо вона ідентична іншій рядковій константі, зберігається в окремому місці пам'яті. Рядкова константа – це масив символів. Вона має тип char[]. Символьна константа уявляє собою деякий символ в лапках. Приклад : ‘a’, ‘A’,’7’,’*’. Символьні константи вважаються данними типу int. Існує декілька способів визначення рядків: використання рядкових констант, масивів типу char, покажчиків на тип char та масивів, що складаються з символьних рядків. Приклади : 1. Ініціалізація масива за допомогою рядкової константи: char m[]=”string”; Даний оператор ініціалізував зовнішній масив m для вказаного рядка. Аналогічно char m[]={‘s’,’t’,’r’,’i’,’n’,’g’,’\0’}; ім'я m - покажчик на нульвий елемент масиву: m = =&m [0]; *m = = ‘s’, *(m+1) = = m [1] = = ‘t’. 2. a) char *l = “string”; б) static char l[] = “string”; Опис з масивом б) визиває створення масиву з сьоми елементів (кількість символів у слові string+1 символ, що завершує ‘\0’). Кожний елемент ініціалізується сумісним символом. Компілятор розглядає ім'я l як синонім адреси першого елемента масиву, де l - константа покажчика. Можно використовувати операциї l+1 для ідентифікації наступного елемента маcиву (‘t’). Але не можна використовувати вираз ++l . Форма з покажчиком а) також визиває створення в статичній пам'яті сім елементів для зберігання рядка. Окрім того, виділяється ще одна чарунка пам'яти для змінної l, яка є покажчиком. Спочатку ця змінна вказує на початок рядка, але її значення може змінюватися. В даному випадку, використовуючи операції збільшення, ++l можно посилатися на елемент ‘t’. Таким чином, у випадку а) ініціалізовано одну змінну типу покажчик. Приведемо приклад явного задання розміру пам'яти. Приклад : char l[7] = “string”; char name [81]; Масив name буде заповнюватись у процесі роботи, саме тому резервується 80 символів. Якщо кількість елементів в name буде менш ніж 80, то невикористані елементи автоматично ініціалізуються символом нуль.
|
||||||||
|