Char та String
Свайпніть щоб показати меню
У мові C немає окремого типу даних для рядків (тексту). Замість цього текст зберігається як масив символів char, де кожен елемент містить один символ. Наприклад, текст c<>definity буде представлений як послідовність символів, що зберігаються в такому масиві.
char arr[12] = {'c','<','>','d','e','f','i','n','i','t','y','\0'};
Можна помітити, що текст "c<>definity" містить 11 символів, але масив має 12 елементів. Додатковий елемент зберігає нульовий термінатор \0, який позначає кінець рядка у C.
Це не число нуль, а спеціальний, непечатний символ (ASCII-код 0), який вказує програмі, де закінчується рядок.
Завжди переконайтеся, що ваш масив символів має на один елемент більше, ніж текст, який він містить, щоб врахувати цей термінатор.
Важливо розуміти, що 'x' і "x" це не одне й те саме.
Рядок складається з символів. Завжди пам’ятайте, що рядок має завершуватися символом \0.
'x'— це просто символьна константа типу char;"x"— це рядок, масив значень char, або, у цьому випадку, {'x', '\0'}.
Не плутайте '\0', '0' і "0".
'\0' — це нульовий символ (ASCII 0), '0' — це цифра нуль (ASCII 48), а "0" — це рядок, що містить цифру нуль і термінатор \0.
Виведення рядків
У мові C для виведення рядків (масивів символів char) використовується специфікатор %s. Цей специфікатор вказує функції printf(), який тип інформації вона повинна очікувати. Використовуючи %s, ми повідомляємо функції printf(), що вона отримає рядок.
main.c
12345678910#include <stdio.h> int main() { char array[] = { 'c','<','>','d','e','f','i','n','i','t','y','\0' }; printf("%s\n", array); // use %s format specifiers return 0; }
Мова C містить стандартну бібліотеку для роботи з рядками — <string.h>. У цій бібліотеці є функція, яка рахує кількість символів у рядку:
main.c
123456789101112#include <stdio.h> #include <string.h> int main() { char array[] = { 'c','<','>','d','e','f','i','n','i','t','y','\0' }; printf("%d\n", strlen(array)); return 0; }
Пам'ятайте, навіть пробіл є символом і займає окрему позицію в масиві. Наприклад: char array[10] = { 'u','s','e',' ','s','p','a','c','e','\0' }.
Використовуючи індекс, можна отримати доступ до елементів рядка. Оскільки рядки — це по суті масиви char, також можна змінювати окремі символи за їхніми індексами.
Main.c
123456789101112#include <stdio.h> int main() { char str[] = "c<>definity"; str[5] = '#'; // Change the sixth character `f` to `#` printf("%s\n", str); return 0; }
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Char та String
У мові C немає окремого типу даних для рядків (тексту). Замість цього текст зберігається як масив символів char, де кожен елемент містить один символ. Наприклад, текст c<>definity буде представлений як послідовність символів, що зберігаються в такому масиві.
char arr[12] = {'c','<','>','d','e','f','i','n','i','t','y','\0'};
Можна помітити, що текст "c<>definity" містить 11 символів, але масив має 12 елементів. Додатковий елемент зберігає нульовий термінатор \0, який позначає кінець рядка у C.
Це не число нуль, а спеціальний, непечатний символ (ASCII-код 0), який вказує програмі, де закінчується рядок.
Завжди переконайтеся, що ваш масив символів має на один елемент більше, ніж текст, який він містить, щоб врахувати цей термінатор.
Важливо розуміти, що 'x' і "x" це не одне й те саме.
Рядок складається з символів. Завжди пам’ятайте, що рядок має завершуватися символом \0.
'x'— це просто символьна константа типу char;"x"— це рядок, масив значень char, або, у цьому випадку, {'x', '\0'}.
Не плутайте '\0', '0' і "0".
'\0' — це нульовий символ (ASCII 0), '0' — це цифра нуль (ASCII 48), а "0" — це рядок, що містить цифру нуль і термінатор \0.
Виведення рядків
У мові C для виведення рядків (масивів символів char) використовується специфікатор %s. Цей специфікатор вказує функції printf(), який тип інформації вона повинна очікувати. Використовуючи %s, ми повідомляємо функції printf(), що вона отримає рядок.
main.c
12345678910#include <stdio.h> int main() { char array[] = { 'c','<','>','d','e','f','i','n','i','t','y','\0' }; printf("%s\n", array); // use %s format specifiers return 0; }
Мова C містить стандартну бібліотеку для роботи з рядками — <string.h>. У цій бібліотеці є функція, яка рахує кількість символів у рядку:
main.c
123456789101112#include <stdio.h> #include <string.h> int main() { char array[] = { 'c','<','>','d','e','f','i','n','i','t','y','\0' }; printf("%d\n", strlen(array)); return 0; }
Пам'ятайте, навіть пробіл є символом і займає окрему позицію в масиві. Наприклад: char array[10] = { 'u','s','e',' ','s','p','a','c','e','\0' }.
Використовуючи індекс, можна отримати доступ до елементів рядка. Оскільки рядки — це по суті масиви char, також можна змінювати окремі символи за їхніми індексами.
Main.c
123456789101112#include <stdio.h> int main() { char str[] = "c<>definity"; str[5] = '#'; // Change the sixth character `f` to `#` printf("%s\n", str); return 0; }
Дякуємо за ваш відгук!