Лекция 06 (1160806), страница 5
Текст из файла (страница 5)
int[ , ] x= new int[3,3];
"," указывает на то, что у него есть 2 измерения. Это значит, что отводится 9 элементов строчно по 3 элемента в виде единого блока памяти. Что такое ступенчатый массив? Ступенчатый массив - это на самом деле одномерный массив элементами которого являются ссылки на другие массивы. Т.е. конструкция
int[ ][ ] a= new int[ ][3];
это и есть ступенчатый массив. Ступенчатый массив выглядит следующим образом
Мы отводим 3 элемента, каждый из которых является указателем на массив. В начале после этого new все указатели нулевые. Но после этого мы можем писать
a[0]= new int[10];
У нас теперь а[0] указывает на массив длины 10.
a[1]= new int[5];
a[2]= new int[8];
У нас получился действительно ступенчатый массив
Таким образом можно моделировать массивы с переменной размерностью. Например треугольные матрицы, и подобного рода структуры данных. Спрашивается: является ли такая конструкция абсолютно необходимой? Ответ – нет. В качестве упражнения можете подумать как та же самая вещь может быть описана на языке Java. Поскольку ступенчатый массив – это есть массив ссылок на массивы, такой же тип спокойно можно написать на языке Java. Т.е. эти ступенчатые массивы просто еще одно средство некоторой перенавороченности языка C#.