Menu
Coddy logo textTech

C-style строки. Часть 2

Часть раздела Основы путешествия по C++ на Coddy — урок 68 из 74.

Важно помнить, что при объявлении строки в стиле C определенного размера необходимо выделить достаточно места для символов, которые вы хотите сохранить, плюс одно дополнительное место для нулевого символа.

Например:

// Правильно: для "Hello" требуется 6 позиций
// (5 букв + '\0')
char str1[6] = "Hello";
// Ошибка: Массив слишком мал!
// "Hello" требует 6 мест, но выделено только 5
char str2[5] = "Hello";
// Ошибка: не скомпилируется - только 5 слотов для 6 символов ('H','e','l','l','o','\0')
// Правильно: лишнее место — это нормально
// Места более чем достаточно (требуется 10 > 6)
char str3[10] = "Hello";
// Пример, показывающий подсчет символов:
char name[5] = "John";  // Требуется 5 мест:
// J + o + h + n + '\0' = 5 символов

Вы можете получить доступ к отдельным символам в строке в стиле C, используя синтаксис массивов:

char str[] = "Hello";
char first = str[0]; // 'H'
char third = str[2]; // 'l'

Вы также можете изменять символы в строке в стиле C, если не выходите за границы массива:

char str[] = "Hello";
str[0] = 'J';
std::cout << str; // Выводит "Jello"

Однако вы не можете напрямую присвоить новую строку строке в стиле C после того, как она была объявлена. Вам понадобится использовать такие функции, как strcpy, для копирования строк, что мы рассмотрим в последующих уроках.

Попробуйте сами

В этом уроке нет задания по программированию.

quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы