Курс — «Программирование на C для начинающих». Массивы и строки. #19 Функции для работы с массивами и строками
Здравствуйте, дорогие друзья.
Функции для работы с массивами и строками являются важными инструментами в языке программирования C. Они позволяют выполнять различные операции над массивами и строками, такие как копирование, объединение, сравнение и поиск. В этом разделе мы рассмотрим основные функции для работы с массивами и строками, предоставляемые стандартной библиотекой C.
Функции для работы с массивами
Для работы с массивами в C можно использовать стандартные функции, такие как memcpy и memset, которые предоставляются библиотекой string.h.
memcpy: Копирует блок памяти из одного места в другое.
Пример использования memcpy:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
#include <stdio.h> #include <string.h> int main() { int src[5] = {1, 2, 3, 4, 5}; int dest[5]; // Копирование массива src в массив dest memcpy(dest, src, sizeof(src)); // Вывод элементов массива dest for (int i = 0; i < 5; i++) { printf("dest[%d] = %d\n", i, dest[i]); } return 0; } |
В этом примере функция memcpy используется для копирования элементов массива src в массив dest.
memset: Заполняет блок памяти заданным значением.
Пример использования memset:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
#include <stdio.h> #include <string.h> int main() { int arr[5]; // Заполнение массива arr значением 0 memset(arr, 0, sizeof(arr)); // Вывод элементов массива arr for (int i = 0; i < 5; i++) { printf("arr[%d] = %d\n", i, arr[i]); } return 0; } |
В этом примере функция memset используется для заполнения массива arr значением 0.
Функции для работы со строками
Для работы со строками в C предоставляется множество функций, которые включены в стандартную библиотеку string.h. Вот некоторые из них:
strlen: Возвращает длину строки.
Пример использования strlen:
|
1 2 3 4 5 6 7 8 9 10 11 |
#include <stdio.h> #include <string.h> int main() { char str[] = "Hello, World!"; int length = strlen(str); printf("Length of the string: %d\n", length); return 0; } |
В этом примере функция strlen используется для определения длины строки str.
strcpy: Копирует одну строку в другую.
Пример использования strcpy:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
#include <stdio.h> #include <string.h> int main() { char src[] = "Hello, World!"; char dest[20]; // Копирование строки src в строку dest strcpy(dest, src); printf("dest: %s\n", dest); return 0; } |
В этом примере функция strcpy используется для копирования строки src в строку dest.
strcat: Объединяет две строки.
Пример использования strcat:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
#include <stdio.h> #include <string.h> int main() { char str1[50] = "Hello, "; char str2[] = "World!"; // Объединение строк str1 и str2 strcat(str1, str2); printf("str1: %s\n", str1); return 0; } |
В этом примере функция strcat используется для объединения строк str1 и str2.
strcmp: Сравнивает две строки.
Пример использования strcmp:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
#include <stdio.h> #include <string.h> int main() { char str1[] = "Hello"; char str2[] = "World"; int result = strcmp(str1, str2); if (result == 0) { printf("str1 and str2 are equal\n"); } else if (result < 0) { printf("str1 is less than str2\n"); } else { printf("str1 is greater than str2\n"); } return 0; } |
В этом примере функция strcmp используется для сравнения строк str1 и str2.
strncpy: Копирует заданное количество символов из одной строки в другую.
Пример использования strncpy:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
#include <stdio.h> #include <string.h> int main() { char src[] = "Hello, World!"; char dest[20]; // Копирование первых 5 символов строки src в строку dest strncpy(dest, src, 5); dest[5] = '\0'; // Добавление нулевого символа в конец строки printf("dest: %s\n", dest); return 0; } |
В этом примере функция strncpy используется для копирования первых 5 символов строки src в строку dest.
strncat: Объединяет заданное количество символов из одной строки с другой.
Пример использования strncat:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
#include <stdio.h> #include <string.h> int main() { char str1[50] = "Hello, "; char str2[] = "World!"; // Объединение первых 5 символов строки str2 с строкой str1 strncat(str1, str2, 5); printf("str1: %s\n", str1); return 0; } |
В этом примере функция strncat используется для объединения первых 5 символов строки str2 с строкой str1.
strncmp: Сравнивает заданное количество символов из двух строк.
Пример использования strncmp:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
#include <stdio.h> #include <string.h> int main() { char str1[] = "Hello"; char str2[] = "World"; int result = strncmp(str1, str2, 3); if (result == 0) { printf("First 3 characters of str1 and str2 are equal\n"); } else if (result < 0) { printf("First 3 characters of str1 are less than str2\n"); } else { printf("First 3 characters of str1 are greater than str2\n"); } return 0; } |
В этом примере функция strncmp используется для сравнения первых 3 символов строк str1 и str2.
Функции для работы с массивами и строками являются важными инструментами в языке программирования C. Они позволяют выполнять различные операции над массивами и строками, такие как копирование, объединение, сравнение и поиск. Понимание и использование этих функций является ключевым навыком для начинающих программистов.

На этом все. Всем хорошего дня!
