Реферат: Символьные массивы
При рассмотрении программ на C++ вы можете встретить символы, заключенные в одинарные кавычки (например, 'А') и символы, заключенные в
Рис. 17.3. Как компилятор C++ хранит символьную константу 'А' и строковую константу "А".
двойные кавычки ("А"). Символ внутри одинарных кавычек представляет собой символьную константу. Компилятор C++ выделяет только один байт памяти для хранения символьной константы. Однако символ в двойных кавычках представляет собой строковую константу — указанный символ и символ NULL (добавляемый компилятором). Таким образом, компилятор будет выделять два байта для символьной строки. Рисунок 17.3 иллюстрирует, как компилятор C++ хранит символьную константу 'А' и строковую константу "А".
4. Инициализация символьной строки
Как вы уже знаете из урока 16, C++ позволяет вам инициализировать массивы при объявлении. Символьные строки C++ не являются исключением. Для инициализации символьной строки при объявлении укажите требуемую строку внутри двойных кавычек, как показано ниже:
char title[64] = "Учимся программировать на языке C++";
Если количество символов, присваиваемое строке, меньше размера массива, большинство компиляторов C++ будут присваивать символы NULL остающимся элементам строкового массива. Как и в случае с массивами других типов, если вы не указываете размер массива, который инициализируете при объявлении, компилятор C++ распределит достаточно памяти для размещения указанных букв и символа NULL:
char title[] = "Учимся программировать на языке C++";
Следующая программа INIT_STR.CPP инициализирует символьную строку при объявлении:
#include <iostream.h>
void main(void)
{
char title[64] = "Учимся программировать на языке C++";
char lesson[64] = "Символьныестроки";
cout << "Книга: " << title << endl;
cout << "Урок: " << lesson << endl;
}
Некоторые программы, представленные в оставшейся части книги, будут инициализировать символьные строки подобным способом. Найдите время для эксперимента с этой программой, изменяя символы, присваиваемые каждой строке.
5. Передача строк в функции
Передача символьной строки в функцию подобна передаче любого массива в качестве параметра. Внутри функции вам нужно просто указать тип массива (char) и левую и правую скобки массива. Вам не надо указывать размер строки. Например, следующая программа SHOW_STR.CPP использует функцию show_ string для вывода символьной строки на экран:
#include <iostream.h>
void show_string(char string[])
{
cout << string << endl;
}
void main(void)
{
show_string("Привет, C++!");
show_string("Учусь программировать на C++");
}