Рассмотрим одномерные статичес кие м а с с и в ы и у к а з ат е л и : • При объявлении массива место под ею элементы в памяти выделяется так, что элементы расположены один за другим. • Имя массива является указателем на его первый элемент. • К указателям можно прибавлять и отнимать от них целые числа. Результатом является указатель, смещенный от текущего указателя на соответствующее количество ячеек памяти (в направлении увеличения или уменьшения адреса). • Разницей двух указателей (одного типа) является целое число, определяющее количество позиций (ячеек) между ячейками памяти, на которые ссылаются указатели. • Указатели можно индексировать (индекс указывается в квадратных скобках после имени указателя и формально может быть отрицательным). Значение индексированного указателя — это значение в ячейке, которая отстоит от данного указателя на количество позиций, определяемое индексом. Обращение к элементу массива представляет собой операцию индексирования указателя. Пример 3.2. Массивы и указатели ((include <iostream> ((include <cstdlib> using namespace std; int main(){ //Изменение кодировки консоли: system("chcp 1251>пиГ); // Размер массива: const int size=12; // Индексная переменная: int k; // Создание символьного массива: char symbsjsize]; // Указатели на символьные значения: char* р; char* q; // Указатель на первый элемент массива: p=symbs; /УЗначение первого элемента массива: р[0]* *А', /7 Указатель на последний элемент массива: q==&sytnbs[size-1]; /7 Количество позиций между первым // и последним элементами массива: соШ«"Между первым и последним элементами "<<q-p«" позиций\п” // Заполнение массива значениями: while(p!=q){ // Указатель на следующий элемент: р + + ;
RkJQdWJsaXNoZXIy MTExODQxMg==