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; }
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Awesome!
Completion rate improved to 2.63
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; }
Дякуємо за ваш відгук!