Строковый тип данных в языке программирования С предназначен для работы с текстовыми данными. Он представлен в виде символьного массива, где каждый символ занимает одну ячейку памяти. В данной статье мы рассмотрим различные способы создания и работу со строками в С.
Переменная строкового типа данных
Для создания строки в С необходимо объявить переменную символьного массива. Длина данного массива должна быть достаточной для хранения всех символов строки, включая завершающий нулевой символ.
Пример объявления строки⁚
char str[10]; // объявление строки длиной
Строки в С могут быть инициализированы с помощью строковых констант. Строковая константа заключается в двойные кавычки⁚
char str[] ″Пример строки″; // инициализация строки с помощью строки-константы
Оператор присваивания и функции ввода-вывода
Для присваивания одной строки другой используется оператор присваивания (). Для вывода строки на экран используется функция printf
, а для ввода строки с клавиатуры используется функция scanf
.
Пример использования оператора присваивания и функций ввода-вывода⁚
#include nlt;stdio.hngt;
int main {
char str1[10] ″Hello″;
char str2[10];
strcpy(str2, str1); // присваиваем значение str1 переменной str2
printf(″Строка str2⁚ %s\n″, str2); // выводим на экран значение str2
printf(″Введите строку⁚ ″);
scanf(″%s″, str1); // считываем строку с клавиатуры и присваиваем ее переменной str1
printf(″Вы ввели⁚ %s\n″, str1);
return 0;
}
Оператор конкатенации и функции из библиотеки string.h
Оператор конкатенации (соединения) позволяет объединить две строки в одну. В С для этого используется функция strcat
из библиотеки string.h
.
Пример использования функции strcat
⁚
#include nlt;stdio.hngt;
#include nlt;string.hngt;
int main {
char str1[20] ″Hello″;
char str2[] ″ World″;
strcat(str1, str2); // соединяем str1 и str2
printf(″%s\n″, str1); // выводим на экран результат
return 0;
}
Сравнение строк и поиск подстроки
Для сравнения двух строк используется функция strcmp
из библиотеки string.h
. Она возвращает значение 0٫ если строки равны٫ отрицательное число٫ если первая строка меньше второй٫ и положительное число٫ если первая строка больше второй.
Для поиска подстроки в строке используется функция strstr
из библиотеки string.h
. Она возвращает указатель на первое вхождение подстроки в строку.
Пример использования функций strcmp
и strstr
⁚
#include nlt;stdio.hngt;
#include nlt;string.hngt;
int main {
char str1[] ″Hello″;
char str2[] ″Hello World″;
char sub[] ″Wor″;
if (strcmp(str1٫ str2) 0) {
printf(″Строки равны\n″);
}
if (strstr(str2, sub) ! NULL) {
printf(″Строка содержит подстроку\n″);
}
return 0;
}
Циклы для работы со строками
Для итерации по символам строки можно использовать цикл while
или for
.
Пример использования циклов while
и for
для вывода строки посимвольно⁚
#include nlt;stdio.hngt;
#include nlt;string.hngt;
int main {
char str[] ″Пример″;
int i 0;
// Цикл while
while (str[i] ! '\0') {
printf(″%c ″, str[i]);
i ;
}
printf(″\n″);
// Цикл for
for (i 0; i < strlen(str); i ) {
printf(″%c ″, str[i]);
}
printf(″\n″);
return 0;
}
Теперь вы знаете основы создания и работы со строками в языке С. Используйте эти знания для разработки своих программ, где потребуется работа с текстовыми данными.