Примеры массивов символов в С++
Массив символов мало чем отличается от массивов иных типов. Главная особенность связана с тем, что при объявлении массива из символов необходимо зарезервировать достаточно места для того, что бы в такой массив можно было записывать строки разной длины. Другими словами, при реализации строк в виде массивов существует принципиальное ограничение на длину строки. Такое ограничение существует и при использовании статических массивов других типов. Однако там эта проблема не столь актуальна. Поскольку при работе с символьными массивами речь идет о представлении типа данных, а не единичного объекта, необходимо предусмотреть возможность частого изменения данных.
Принципиальным показателем при работе с текстовыми данными является длина строки. Поскольку в символьном массиве каждый символ строки соответствует эле менту массива, длина строки напрямую имеет отношение к размеру символьного массива. С проблемой ограниченности размера строк связана еще одна проблема Даже если размер массива достаточно велик для того, чтобы записывать в него строковые значения, необходим индикатор, который позволял бы определить, где в массиве записана полезная информация, а где начинается неинформативиый "хвост". В качестве такого индикатора ис пользуют специальный символ '\0', который называется нуль-символом. Таким образом, строковая переменная реализуется в программе в виде маcсива символов. Признаком окончания строки является нуль-символ. Чтобы вписать в массив строку, необходимо, чтобы размер массива по крайней мере на единицу превышал количество символов в строке. Этот дополнительный элемент необходим для записи нуль-символа '\0' окончания строки.
Объявляются массивы символов, как и прочие массивы: указывается тип элементов массива (для символьных массивов это сЬаг), название и размер массива Пример объявления символьного массива: char str[80]. В данном случае объявлен массив из 80 символов. При этом в такой массив можно записать строку с максимальной длиной в 79 символов. Инициализироваться символьные массивы могут так же, как и, например, числовые: после имени и размера массива указывается знак равенства и в фигурных скобках список символов, которые являются значениями элементов массива. Однако существует еще один более удобный способ инициализации символьного массива: вместо списка символов указывается в двойных кавычках текстовая строка. Далее в листинге приведены примеры инициализации символьных массивов:
Принципиальным показателем при работе с текстовыми данными является длина строки. Поскольку в символьном массиве каждый символ строки соответствует эле менту массива, длина строки напрямую имеет отношение к размеру символьного массива. С проблемой ограниченности размера строк связана еще одна проблема Даже если размер массива достаточно велик для того, чтобы записывать в него строковые значения, необходим индикатор, который позволял бы определить, где в массиве записана полезная информация, а где начинается неинформативиый "хвост". В качестве такого индикатора ис пользуют специальный символ '\0', который называется нуль-символом. Таким образом, строковая переменная реализуется в программе в виде маcсива символов. Признаком окончания строки является нуль-символ. Чтобы вписать в массив строку, необходимо, чтобы размер массива по крайней мере на единицу превышал количество символов в строке. Этот дополнительный элемент необходим для записи нуль-символа '\0' окончания строки.
Объявляются массивы символов, как и прочие массивы: указывается тип элементов массива (для символьных массивов это сЬаг), название и размер массива Пример объявления символьного массива: char str[80]. В данном случае объявлен массив из 80 символов. При этом в такой массив можно записать строку с максимальной длиной в 79 символов. Инициализироваться символьные массивы могут так же, как и, например, числовые: после имени и размера массива указывается знак равенства и в фигурных скобках список символов, которые являются значениями элементов массива. Однако существует еще один более удобный способ инициализации символьного массива: вместо списка символов указывается в двойных кавычках текстовая строка. Далее в листинге приведены примеры инициализации символьных массивов:
#includeusing namespace std; int main(){ char str1[20]="hello"; char str2[20]={'h','e','l','l','o','\0'}; cout << str1 << "\n"; cout << str2 << "\n"; return 0; }