Студопедия — Создание динамических массивов.
Студопедия Главная Случайная страница Обратная связь

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

Создание динамических массивов.






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

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

Можно выделять память под массив динамически в программе, с помощью соответствующих операторов и также программно освобождать ее по желанию программиста. Рассмотрим этот случай.

Объявим указатели (переменные) на объект типа type. Указатели можно связать с массивами - статическим (1) и динамическими (2, 3):

 

1) type * имя1 = имя уже определенного массива типа type;

2) type* имя2 = new type [количество элементов массива];

3) type * имя3 = (type *) malloc (количество элементов * sizeof(type));

Проиллюстрируем это на примерах:

int n [5] = { 1, 2, 3, 4,5}; //определен статический массив

int*pn = n; // присоединение указателя к массиву статической памяти

//значение pn - адрес первого элемента массива

float*p1 = new float [10]; // динамически выделено 40 байт памяти

// значение p1 - адрес первого байта этого участка

double*p2 = (double*) malloc (4 * sizeof (double));

// динамически выделено 32 байта памяти, значение p2- адрес первого байта

После того как указатель связан с массивом доступ к элементам массива осуществляется следующими способами:

1) имя указателя [индекс элемента]

2) *(имя указателя + индекс элемента)

3) *имя указателя ++ (операция допустима, т.к. указатель – переменная)

Пример вывода элементов арифметического массива (производится поэлементно):

int A [10] = {7.3, 5.5, 1, … };

for (int i=0, *pA=A; i<10; i++)

cout<<*pA++<<'' ''; // что эквивалентно cout << pA[i], или cout << *(pA+i)







Дата добавления: 2015-08-12; просмотров: 325. Нарушение авторских прав; Мы поможем в написании вашей работы!



Шрифт зодчего Шрифт зодчего состоит из прописных (заглавных), строчных букв и цифр...

Картограммы и картодиаграммы Картограммы и картодиаграммы применяются для изображения географической характеристики изучаемых явлений...

Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Условия приобретения статуса индивидуального предпринимателя. В соответствии с п. 1 ст. 23 ГК РФ гражданин вправе заниматься предпринимательской деятельностью без образования юридического лица с момента государственной регистрации в качестве индивидуального предпринимателя. Каковы же условия такой регистрации и...

Седалищно-прямокишечная ямка Седалищно-прямокишечная (анальная) ямка, fossa ischiorectalis (ischioanalis) – это парное углубление в области промежности, находящееся по бокам от конечного отдела прямой кишки и седалищных бугров, заполненное жировой клетчаткой, сосудами, нервами и...

Основные структурные физиотерапевтические подразделения Физиотерапевтическое подразделение является одним из структурных подразделений лечебно-профилактического учреждения, которое предназначено для оказания физиотерапевтической помощи...

Влияние первой русской революции 1905-1907 гг. на Казахстан. Революция в России (1905-1907 гг.), дала первый толчок политическому пробуждению трудящихся Казахстана, развитию национально-освободительного рабочего движения против гнета. В Казахстане, находившемся далеко от политических центров Российской империи...

Виды сухожильных швов После выделения культи сухожилия и эвакуации гематомы приступают к восстановлению целостности сухожилия...

КОНСТРУКЦИЯ КОЛЕСНОЙ ПАРЫ ВАГОНА Тип колёсной пары определяется типом оси и диаметром колес. Согласно ГОСТ 4835-2006* устанавливаются типы колесных пар для грузовых вагонов с осями РУ1Ш и РВ2Ш и колесами диаметром по кругу катания 957 мм. Номинальный диаметр колеса – 950 мм...

Studopedia.info - Студопедия - 2014-2024 год . (0.009 сек.) русская версия | украинская версия