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

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

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





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

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

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

Объявим указатели (переменные) на объект типа 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; просмотров: 351. Нарушение авторских прав; Мы поможем в написании вашей работы!




Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...


Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...


ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...


Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

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

Философские школы эпохи эллинизма (неоплатонизм, эпикуреизм, стоицизм, скептицизм). Эпоха эллинизма со времени походов Александра Македонского, в результате которых была образована гигантская империя от Индии на востоке до Греции и Македонии на западе...

Демографияда "Демографиялық жарылыс" дегеніміз не? Демография (грекше демос — халық) — халықтың құрылымын...

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

Правила наложения мягкой бинтовой повязки 1. Во время наложения повязки больному (раненому) следует придать удобное положение: он должен удобно сидеть или лежать...

ТЕХНИКА ПОСЕВА, МЕТОДЫ ВЫДЕЛЕНИЯ ЧИСТЫХ КУЛЬТУР И КУЛЬТУРАЛЬНЫЕ СВОЙСТВА МИКРООРГАНИЗМОВ. ОПРЕДЕЛЕНИЕ КОЛИЧЕСТВА БАКТЕРИЙ Цель занятия. Освоить технику посева микроорганизмов на плотные и жидкие питательные среды и методы выделения чис­тых бактериальных культур. Ознакомить студентов с основными культуральными характеристиками микроорганизмов и методами определения...

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