русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Массив. Объявление


Дата добавления: 2015-07-09; просмотров: 553; Нарушение авторских прав


Массив – множество однотипных элементов. Это тоже ТИП. Любой массив наследует классу (является производным от класса – о принципе наследования позже) System.Array.

Существует несколько способов сознания группировок однотипных объектов:

§ объявление множества однотипных элементов в рамках перечисления (класса, структуры),

§ определение собственно массива.

Принципиальная разница состоит в следующем:

§ доступ к данным-членам перечисления, класса, массива производится ПО имени данного-члена (элементы перечисления, класса или структуры ИНОГДА могут быть одного типа, но каждый член всегда имеет собственное имя),

§ доступ к элементу массива осуществляется по индексу (элементы массива ВСЕГДА однотипны, располагаются в contiguous memory) при этом допускается случайный доступ.

§

Многомерные массивы. Массив размерности (или ранга) N (N определяет число измерений массива) – это Массив массивов (или составляющих массива) ранга N-1. Составляющие массива – это массивы меньшей размерности, являющиеся элементами данного массива. Составляющая массива – это либо массив, либо элемент массива.

 

ОбъявлениеМассива ::=

ИмяТипа СписокСпецификаторовРазмерности ИмяМассива [ИнициализацияМассива];

ИмяТипа ::= Идентификатор

ИмяМассива ::= Идентификатор

 

СписокСпецификаторовРазмерности

::= [СписокСпецификаторовРазмерности] СпецификаторРазмерности

::= [СписокНеявныхСпецификаторов]

СпецификаторРазмерности ::= []

СписокНеявныхСпецификаторов

СписокНеявныхСпецификаторов ::= [СписокНеявныхСпецификаторов ,] НеявныйСпецификатор

НеявныйСпецификатор ::= ПУСТО | РАЗДЕЛИТЕЛЬ

 

ПУСТО – оно и есть пусто.

РАЗДЕЛИТЕЛЬ – пробел, несколько пробелов, символ табуляции, символ перехода на новую строку, комбинация символов “новая строка/возврат каретки” и прочая икебана…



При объявлении массива действуют следующие правила:

§ Спецификатор размерности, состоящий из одного неявного спецификатора [] специфицирует составляющую массива размерности 1.

§ Спецификатор размерности, состоящий из N неявных спецификаторов [ ,,, … ,] специфицирует составляющую массива размерности N.

§ Длина списка спецификаторов размерности массива не огранена.

 

При этом информация о типе составляющих массива в объявлении массива определяется на основе типа массива и списка его спецификаторов размерности.

Синтаксис объявления массива (ссылки на массив) позволяет специфицировать массивы произвольной конфигурации без какого-либо намёка на количественные характеристики составляющих массивы элементов.

Ниже представлены способы ОБЪЯВЛЕНИЯ ссылок на массивы РАЗЛИЧНОЙ размерности и конфигурации.

 

// Объявлены ссылки на массивы размерности 3 элементов типа int.

// Это массивы составляющих, представляющих собой массивы элементов

// размерности 2 одномерных массивов элементов типа int.

// Размеры всех составляющих массивов одного уровня равны

// между собой (так называемые “прямоугольные” массивы).

int[,,] arr0;

int[ , , ] arr1;

int[

,

,

] arr2;

// Объявлена ссылка на

// ОДНОМЕРНЫЙ(!) массив

// ОДНОМЕРНЫХ(!) элементов массива, каждый из которых является

// ОДНОМЕРНЫМ(!) массивом элементов типа int.

int[][][] arr3;

// Объявлена ссылка на

// ОДНОМЕРНЫЙ(!) массив составляющих, каждая из которых является

// ДВУМЕРНЫМ(!) массивом массивов элементов типа int.

// При этом никаких ограничений на размеры “прямоугольных” составляющих

// данное объявление не содержит. У всех составляющих могут быть разные

// размеры.

int[][,] arr4;

// Объявлена ссылка на

// ДВУМЕРНЫЙ(!) массив составляющих, каждая из которых является

// ОДНОМЕРНЫМ(!) массивом элементов типа int.

// При этом никаких ограничений на размеры одномерных составляющих

// данное объявление не содержит. У всех составляющих могут быть разные

// размеры.

int[,][] arr5;

 

Рассмотренный синтаксис объявления и инициализации массива позволяет определять ДВЕ различных категории массивов:

§ простые (прямоугольные) массивы,

§ jagged (зубчатый, зазубренный; неровно оторванный; пьяный; находящийся под влиянием наркотиков) массивы.

Особенности инициализации и использования массивов разных категорий рассматриваются дальше.



<== предыдущая лекция | следующая лекция ==>
Обработка исключений | Инициализация массивов


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.079 сек.