Лекции.Орг


Поиск:




Категории:

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

 

 

 

 


Объявление одномерного массива




Понятие массива

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

Массив – это список связанных элементов одинакового типа, обращение к которым происходит с использованием общего для всех имени. Например, список студентов некоторой группы. Каждый элемент массива имеет свой порядковый номер (индекс) в последовательности:известно какая величина является в ней первой, какая второй и т.д., и в этом плане массив является упорядоченной последовательностью.

Создание массива начинается с выделения памяти под его элементы. Элементами массива могут быть величины как значимых, так и ссылочных типов (в том числе массивы).

Массив значимых типов хранит значения, массив ссылочных типов – ссылки на элементы. Всем элементам при создании массива присваиваются значения по умолчанию: нули для значимых типов и null – для ссылочных.

В С# массивы могут быть одномерными или многомерными. Многомерные массивы, в свою очередь, могут быть прямоугольными и ступенчатыми.

Объявление одномерного массива

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

Для объявления одномерного массива в общем случае используется следующая форма записи:

тип[] имя_массива = new тип [размер];

Здесь тип определяет базовый тип массива – тип элементов массива. Квадратные скобки, следующие за объявлением типа, являются признаком объявления одномерного массива. Количество элементов в массиве задает [размер]. Массивы реализуются в виде объектов, относится к ссылочным типам данных, то есть располагается в динамической области памяти, и их создание представляет собой двухфазный процесс:

- объявление ссылочной переменной;

- выделение области памяти для массива; объявленной переменной присваивается ссылка на выделенную область памяти для массива.

В языке С# массивы динамически размещаются в памяти с помощью оператора new. Оператор создания массива из 4 целых чисел имеет вид:

int[ ] b = new int[4];

В первом операторе описан массив b, состоящий из четырех элементов значимого типа int[ ]. Операция new выделяет память под 4 целых элемента, и они заполняются нулями.

Оператор создания массива из 3 строк имеет следующий вид:

string[ ] s = new string[3];

Во втором операторе описан массив s ссылочного типа string[ ]. Операция new выделяет память под 3 ссылки на строки, и эти ссылки заполняются значением null. Память под сами строки, составляющие массив, не выделяется – это необходимо будет сделать перед заполнением массива.

Объявление массива можно провести и двумя шагами:

int[ ] b;

b = new int[4];

Первое объявление фактически содержит только ссылку на массив, а память под элементы массива еще не выделена. Второй же оператор обеспечивает выделение необходимой памяти.

Количество элементов в массиве задается при выделении памяти и не может быть изменено впоследствии. Размерность может задаваться не только константой, но и выражением. Значение этого выражения должно быть неотрицательным, а его тип должен иметь неявное преобразование к int, uint, long или ulong.

Пример размерности массива, заданной выражением:

short m =...;

string[ ] s = new string[m + 1];

Доступ к отдельному элементу массива осуществляется с помощью индексации. Индекс указывает позицию элемента внутри массива. В C# элементы массива нумеруются с нуля, поэтому максимальное значение индекса элемента массива всегда на единицу меньше размерности (например, в описанном выше массиве b элементы имеют индексы от 0 до 3). Для обращения к элементу массива используется конструкция «переменная с индексом», где после имени массива в квадратных скобках указывается порядковый номер элемента в массиве, например: b[2], s[i].

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

В С# для предотвращения подобной ситуации автоматически выполняется контроль выхода индекса за его объявленные границы и, если индекс принимает недопустимое значение, генерируется исключение:

IndexOutOfRangeException.

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

int [ ] а = new int[10];

int[ ] b = а;

Результатом приведенных объявлений является то, что b и а указывают на один и тот же массив данных.





Поделиться с друзьями:


Дата добавления: 2017-02-28; Мы поможем в написании ваших работ!; просмотров: 391 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Чтобы получился студенческий борщ, его нужно варить также как и домашний, только без мяса и развести водой 1:10 © Неизвестно
==> читать все изречения...

2457 - | 2338 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.014 с.