Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Использование одномерного массива






Используется для упорядоченного хранения однотипных элементов, свободный доступ к элементам массива позволяет сравнивать его элементы, производить допустимые операции с ними, менять местами.

доступ к элементу массива: нумеруется элементы с 0

< имя массива> [номер элемента]

Ввод и вывод массива осуществляется поэлементно (cout< < mass[номер элемента]; cin> > mass[номер элемента];)

 

Связь массива с указателем

Связь массива с указателем: Имя массива есть константа. Указатель на массив, в котором хранится адрес нулевого элемента. & b[0]

*(b+i)=b+i*sizeof(double)

b+i-адрес i-го элемента в массиве b

 

использование указателя на символ

#include< iostream.h>

void main()

{

char str[] = " Здравствуй, мир! "; // объявляем символьный массив

char *b; // объявляем указатель на символ

b = & str[12]; // теперь b указывает на 12-ый символ str

*b = 'M'; // присваиваем первому элементу b символ 'М'

cout < < b; // выводим строку b на экран (Мир!)

}

 

Передача в функцию

Как и все другие переменные, массивы могут использоваться как параметры функций.

При передаче массива как фактического параметра функции Си помещает в стек только адрес первого элемента массива.



Любой доступ к элементу массива, осуществляемый операцией индексирования, может быть выполнен с помощью указателя.

Обращаться к элементам массива можно с помощью индексированного указателя Pa[i]=A[i] ---содержит адреса всех элементов массива.

Динамический массив

Динамическим считается массив, который способен в любой момент изменять свой размер. Эта возможность обеспечивается за счет динамического выделения памяти под массив. При этом удобно создать класс, который является оболочкой для данного массива, отвечает за выделение и освобождение памяти под массив, а также обеспечивает доступ к элементам массива.

Когда пользователь создает объект класса-оболочки, конструктор класса выделяет память под массив, который имеет либо указанный пользователем размер, либо размер, заданный по умолчанию. Если по мере заполнения массива вся выделенная память окажется занятой, то при добавлении очередного элемента выделенная ранее память освобождается, все хранящиеся в массиве значения сохраняются во временном массиве. Затем выделяется память под массив большего размера и в него помещаются сохраненные значения. Таким образом, изменение размера массива происходит автоматически, невидимо для пользователя.

 

Многомерные массивы






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.