Указатели и строки
Как и массивы типа char, указатели char* могут инициализироваться строковыми константами: char * имя_1 = ''строка''; char * имя_2 = {''строка''}; char * имя_3(''строка''); В операторе вывода по значению указателя выведется строка до байтового нуля: cout << имя указателя на строку; Если надо вывести адрес строковой константы, при выводе надо воспользоваться приведением типа указателя к void*: cout << (void*) имя указателя на строку; Если надо представлять в программе группу текстовых строк, целесообразно объявить массив указателей типа char* по количеству строк: char* name [5]= {''Иванов'', ''Петров'', ''Розен'', ''Цой'', ''Григорьев''}; Адреса отдельных строк равны значениям указателей из массива: name[0], name[1], name[2], name[3], name[4]. По адресам выводим строки: for (int i=0; i < 5; i++) cout << name[i] << endl; Благодаря манипулятору endl фамилии выведутся в столбик. Ввод/вывод элементов массивов Ввод/вывод числовых массивов Ввод/вывод значений арифметических массивов производится поэлементно. Для одномерного массива следует организовать цикл (повторение обработки данных), в каждой итерации которого, изменять индекс элементаипроизводить ввод (вывод) значения соответствующего элемента. Пример иллюстрирует ввод элементов одномерного массива: int test [100]; for (int i = 0; i < 100; i++) cin >> test [i];… При вводе/выводе элементов двумерного массива, для обращения к элементам необходимо устанавливать номера строк и столбцов элементов. При этом целесообразно учитывать, как элементы массива располагаются в оперативной памяти. Внешний цикл следует организовать по номерам строк. В теле этого цикла для каждого номера строки организовать внутренний цикл, в котором перебирать номера столбцов. Следуя такому алгоритму, обращение к элементам массива будет происходить в той последовательности, в которой они располагаются в оперативной памяти. Пример программы иллюстрирует вышесказанное: #include < iostream.h> #include< stdlib.h>
|