Строки в C

НАВИГАЦИЯ ПО СТРАНИЦЕ

Объявление строк Инициализация строк Ввод строк с клавиатуры Вывод строк Операции над строками

Строки в языке программирования C представляют собой последовательность символов, заканчивающуюся нулевым символом ('\0'). Этот нулевой символ используется для обозначения конца строки в C. Строки могут быть представлены как массивы символов. Вот как работать с строками в C:

Объявление строк:

Строки могут быть объявлены как массивы символов. Например:

char myString[20]; // Объявление строки, которая может содержать до 19 символов плюс нулевой символ

Инициализация строк:

Строки можно инициализировать при их объявлении или позже:

char greeting[] = "Привет, мир!"; // Инициализация строки при объявлении
char name[10]; // Объявление строки
strcpy(name, "Иван"); // Копирование строки в переменную name

Ввод строк с клавиатуры:

Для ввода строк с клавиатуры можно использовать функцию gets (хотя она устарела и не рекомендуется использовать из-за проблем с безопасностью) или лучше использовать fgets:

char input[50];
printf("Введите строку: ");
fgets(input, sizeof(input), stdin);

Вывод строк:

Для вывода строк используется функция printf:

char greeting[] = "Привет, мир!";
printf("Сообщение: %s\n", greeting);

Операции над строками:

В C существует множество функций, предназначенных для работы с строками. Некоторые из них включают:

  • strlen: Вычисление длины строки.

  • strcpy: Копирование одной строки в другую.

  • strcat: Сцепление (конкатенация) двух строк.

  • strcmp: Сравнение строк на равенство.

Примеры использования:

#include <stdio.h>
#include <string.h>

int main() {
    char str1[20] = "Hello, ";
    char str2[] = "world!";
    strcat(str1, str2); // Сцепляем строки
    printf("Результат: %s\n", str1);

    char name1[] = "Alice";
    char name2[] = "Bob";
    int result = strcmp(name1, name2); // Сравниваем строки
    if (result == 0) {
        printf("Имена одинаковы.\n");
    } else {
        printf("Имена разные.\n");
    }

    return 0;
}

Запомните, что строки в C завершаются нулевым символом ('\0'). Поэтому вы должны уделять особое внимание управлению этим нулевым символом, чтобы избежать проблем с переполнением буфера.