В этой статье мы объясним, что такое строки в C, как они объявляются и как их реализовать в программировании на C.
Что такое строки в программировании на C?
Строки — это одномерные массивы, оканчивающиеся ноль \0 характер. Они используются для хранения символов и текстов, и каждый символ в строке занимает один байт памяти. В отличие от других языков программирования, C не имеет имени типа данных в виде строки, вместо этого вы сохраняете данные в тип чар.
Как объявлять строки в программировании на C?
В программировании на C вы можете объявить строку, используя следующие методы:
Вы можете назначить строку с предопределенным размером. Например, строка с предельным размером 8 символов должна быть объявлена как:
уголь тест [ 8 ] '=' 'добро пожаловать' ;
Другой способ присвоить строку в C — без определения размера массива:
уголь тест [ ] '=' 'добро пожаловать' ;
Вы также можете назначить строку, используя массив символов с определенным размером:
уголь тест [ 8 ] '=' { 'В' , 'Это' , 'л' , 'с' , 'О' , 'м' , 'Это' , ' \0 ' } ;Или вы можете присвоить строку массиву символов, инициализируя ее символ за символом без определенного размера:
уголь тест [ ] '=' { 'В' , 'Это' , 'л' , 'с' , 'О' , 'м' , 'Это' , ' \0 ' } ;
нулевой символ «\0» представляет конец строки. Чтобы определить, где заканчивается строка, важно добавить нулевой символ в конце каждого.
Представление в памяти приведенной выше строки будет следующим:
Индекс | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
Переменная | В | Это | л | с | О | м | Это | \0 |
В C нулевой символ используется для определения того, где заканчивается строка. Если нулевой символ отсутствует, эти функции будут продолжать обрабатывать память за пределами конца строки, что может привести к неожиданному поведению кода.
Ниже приведен полный код программирования на C для печати строки.
#includeинт основной ( ) {
уголь тест [ 8 ] '=' { 'В' , 'Это' , 'л' , 'с' , 'О' , 'м' , 'Это' , ' \0 ' } ;
printf ( 'Вывод: %s \n ' , тест ) ;
возвращаться 0 ;
}
Вышеприведенная программа объявляет тестовый массив символов размером 8 и инициализирует его символами 'Добро пожаловать' , и ‘\0’ . Затем он использует printf() функция для вывода строки, хранящейся в тесте.
Выход
Возьмите ввод строки от пользователя в программировании на C
Вы также можете получить входную строку от пользователя, используя сканф() функция, и для этого вам необходимо определить размер массива строк. Ниже приведен пример кода для получения ввода от пользователя:
#includeинт основной ( )
{
уголь имя [ 10 ] ;
printf ( 'Введите имя:' ) ;
сканф ( '%s' , имя ) ;
printf ( 'Введенное имя: %s.' , имя ) ;
возвращаться 0 ;
}
Приведенная выше программа предлагает пользователю ввести имя, считывает его от пользователя с помощью функции scanf() и сохраняет его в имени массива символов. Затем он использует функцию printf() для печати введенного имени.
Выход
Чтение строки или строки текста в программировании на C
Вы можете использовать fgets() Функция для чтения строк, поскольку она используется для чтения строки текста из указанного входного потока и сохранения ее в массиве символов. Приведенный ниже код является примером такого случая:
#includeинт основной ( ) {
уголь линия [ пятьдесят ] ;
printf ( 'Введите строку текста: ' ) ;
fgets ( линия , размер ( линия ) , стандартный ввод ) ;
printf ( 'Вы ввели: %s' , линия ) ;
возвращаться 0 ;
}
Вышеупомянутая программа C использует fgets() функция для чтения строки текста, введенного пользователем из стандартного ввода, и сохранения ее в массиве символов с именем line. Затем он печатает введенную строку текста с помощью функции printf().
Выход
Часто используемые строковые функции
Строки в программировании на C поддерживают различные функции, которые можно использовать в программах для выполнения различных действий. Некоторые из функций, поддерживаемых строкой в C, упомянуты ниже:
Название функции | Назначение функции |
стркат (а1, а2); | Добавляет содержимое строки a2 в конец строки a1. После операции результирующая строка будет сохранена в a1. |
стркпи (а1, а2); | Эта функция копирует содержимое строки a2 в строку a1. После операции a1 будет содержать точную копию a2, включая завершающий нулевой символ. |
стрлен(а1); | Возвращает длину строки a1, т. е. общее количество символов в строке перед последним завершающим или нулевым символом. |
стрхр(а1,ч1); | Эта функция перемещает указатель на первое вхождение символа ch1 в строку a1. Эта функция возвращает нулевой указатель, если ch1 не найден в строке a1. |
Примечание: C предоставляет стандартную библиотеку под названием <строка.h> который предоставляет различные функции для работы со строками в C. Эти функции включают такие операции, как копирование строк, объединение строк и многое другое.
Заключение
Строка представляет собой набор линейной последовательности в программах на C. Каждый символ хранит один байт и представлен двойными кавычками. C предоставляет стандартную библиотеку <строка.h> и вы можете легко выполнять сложные задачи с помощью строковых функций. В приведенном выше руководстве мы обсудили различные способы объявления строки и инициализации. Мы также продемонстрировали передачу строки в функцию с примером кода.