C Рядки
Рядки
Рядки використовуються для зберігання тексту/символів.
Наприклад, "Hello World" — це рядок символів.
На відміну від багатьох інших мов програмування, мова C не має рядкового типу для легкого створення рядкових змінних. Натомість ви повинні використовувати тип char
і створити масив символів, щоб створити рядок у C:
char greetings[] = "Hello World!";
Зверніть увагу, що ви повинні використовувати подвійні лапки (""
).
Щоб вивести рядок, ви можете використати функцію printf()
разом зі специфікатором формату %s
, щоб повідомити C, що ми зараз працюємо з рядками:
Доступ до рядків
Оскільки рядки насправді є масивами в C, ви можете отримати доступ до рядка, посилаючись на його індексний номер у квадратних дужках []
.
У цьому прикладі друкується перший символ (0) у greetings (вітаннях):
Зауважте, що нам потрібно використовувати специфікатор формату %c
, щоб надрукувати один символ.
Змінити рядки
Щоб змінити значення певного символу в рядку, зверніться до номера індексу та використовуйте одинарні лапки:
Приклад
char greetings[] = "Hello World!";
greetings[0] = 'J';
printf("%s", greetings);
// Виведе Jello World! замість Hello World!
Спробуйте самі »
Перебрати рядок
Ви також можете перебирати символи рядка за допомогою циклу for
:
Приклад
char carName[] = "Volvo";
int i;
for (i = 0; i < 5; ++i) {
printf("%c\n", carName[i]);
}
Спробуйте самі »
І, як ми вказали в розділі про масиви, ви також можете використовувати формулу розміру (замість того, щоб вручну записувати розмір масиву в циклі умови (i < 5)
), щоб зробити цикл більш стійким:
Приклад
char carName[] = "Volvo";
int length = sizeof(carName) / sizeof(carName[0]);
int i;
for (i = 0; i < length; ++i) {
printf("%c\n", carName[i]);
}
Спробуйте самі »
Інший спосіб створення рядків
У наведених вище прикладах ми використовували "рядковий літерал", щоб створити рядкову змінну. Це найпростіший спосіб створити рядок у C.
Слід також зауважити, що ви можете створити рядок із набором символів. Цей приклад дасть той самий результат, що й приклад на початку цієї сторінки:
Приклад
char greetings[] = {'H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd', '!', '\0'};
printf("%s", greetings);
Спробуйте самі »
Чому ми включаємо символ \0
у кінці? Він відомий як "нульовий кінцевий символ", і його потрібно включити під час створення рядків за допомогою цього методу. Він повідомляє C, що це кінець рядка.
Відмінності
Різниця між двома способами створення рядків полягає в тому, що перший спосіб легше написати, і вам не потрібно включати символ \0
, оскільки C зробить це за вас.
Зауважте, що розмір обох масивів однаковий: вони обидва містять 13 символів (до речі, пробіл також вважається символом), включаючи символ \0
:
Приклад
char greetings[] = {'H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd', '!', '\0'};
char greetings2[] = "Hello World!";
printf("%lu\n", sizeof(greetings)); // Outputs 13
printf("%lu\n", sizeof(greetings2)); // Виведе 13
Спробуйте самі »
Приклад із реального життя
Використовуйте рядки для створення простого вітального повідомлення:
Приклад
char message[] = "Good to see you,";
char fname[] = "John";
printf("%s %s!", message, fname);
Спробуйте самі »