Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Char та String | Типи Даних та Змінні
Основи C

bookChar та 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), який повідомляє програмі, де закінчується рядок.

Note
Примітка

Завжди переконайтеся, що ваш масив символів має на один елемент більше, ніж текст, який він містить, щоб врахувати цей термінатор.

Важливо розуміти, що 'x' і "x" не є одним і тим самим.

Рядок складається з символів. Завжди пам’ятайте про необхідність завершувати рядок символом \0.

  • 'x' — це просто символьна константа типу char;
  • "x" — це рядок, масив значень char, або, у цьому випадку, {'x', '\0'}.
Note
Примітка

Не плутайте '\0', '0' та "0". '\0' — це нульовий символ (ASCII 0), '0' — це цифра нуль (ASCII 48), а "0" — це рядок, що містить цифру нуль та термінатор \0.

Виведення рядків

У мові C для виведення рядків (масивів символів char) використовується специфікатор %s. Цей специфікатор вказує функції printf(), який тип даних вона повинна очікувати. Використовуючи %s, ми повідомляємо функції printf(), що вона отримає рядок.

main.c

main.c

copy
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

main.c

copy
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; }
Note
Примітка

Пам’ятайте, навіть пробіл є символом і займає окрему позицію в масиві. Наприклад: char array[10] = { 'u','s','e',' ','s','p','a','c','e','\0' }.

Використовуючи індекс, можна отримати доступ до елементів рядка. Оскільки рядки — це по суті масиви char, також можливо змінювати окремі символи за їхніми індексами.

Main.c

Main.c

copy
123456789101112
#include <stdio.h> int main() { char str[] = "c<>definity"; str[5] = '#'; // Change the sixth character `f` to `#` printf("%s\n", str); return 0; }
question mark

Який із наведених варіантів правильно оголошує рядок у C?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 2. Розділ 6

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Awesome!

Completion rate improved to 2.63

bookChar та 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), який повідомляє програмі, де закінчується рядок.

Note
Примітка

Завжди переконайтеся, що ваш масив символів має на один елемент більше, ніж текст, який він містить, щоб врахувати цей термінатор.

Важливо розуміти, що 'x' і "x" не є одним і тим самим.

Рядок складається з символів. Завжди пам’ятайте про необхідність завершувати рядок символом \0.

  • 'x' — це просто символьна константа типу char;
  • "x" — це рядок, масив значень char, або, у цьому випадку, {'x', '\0'}.
Note
Примітка

Не плутайте '\0', '0' та "0". '\0' — це нульовий символ (ASCII 0), '0' — це цифра нуль (ASCII 48), а "0" — це рядок, що містить цифру нуль та термінатор \0.

Виведення рядків

У мові C для виведення рядків (масивів символів char) використовується специфікатор %s. Цей специфікатор вказує функції printf(), який тип даних вона повинна очікувати. Використовуючи %s, ми повідомляємо функції printf(), що вона отримає рядок.

main.c

main.c

copy
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

main.c

copy
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; }
Note
Примітка

Пам’ятайте, навіть пробіл є символом і займає окрему позицію в масиві. Наприклад: char array[10] = { 'u','s','e',' ','s','p','a','c','e','\0' }.

Використовуючи індекс, можна отримати доступ до елементів рядка. Оскільки рядки — це по суті масиви char, також можливо змінювати окремі символи за їхніми індексами.

Main.c

Main.c

copy
123456789101112
#include <stdio.h> int main() { char str[] = "c<>definity"; str[5] = '#'; // Change the sixth character `f` to `#` printf("%s\n", str); return 0; }
question mark

Який із наведених варіантів правильно оголошує рядок у C?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 2. Розділ 6
some-alt