Учебно-методический комплекс общее количество часов 58 ч. Лекции 28 ч


Объявление массива и выделение памяти


Download 2.46 Mb.
bet33/91
Sana19.10.2023
Hajmi2.46 Mb.
#1709453
TuriУчебно-методический комплекс
1   ...   29   30   31   32   33   34   35   36   ...   91
Bog'liq
Язык программирования C#

Объявление массива и выделение памяти.

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


тип[][] имя_массива;


тип[][][] имя массива;


Количество пар квадратных скобок и определяет размерность массива: одной паре соответствует одномерный массив, двум – двумерный, трем – трехмерный и так далее.


int[][] JaggedIntArr2D;


int[][][] JaggedIntArr3D;
int[][][][][][][] JaggedIntArr7D;

double[][] JaggedRealArr2D;


double[][][] JaggedRealArr3D;

string[][] JaggedStrArr2D;


string[][] JaggedStrArr3D;
Лист. 7.13

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


Аналогично другим массивам выделение памяти под рваный массив производится оператором new, но в случае рваных массивов память выделяется под каждое измерение отдельно.


JaggedIntArr2D = new int[3][];


JaggedIntArr2D[0] = new int[2];
JaggedIntArr2D[1] = new int[10];
JaggedIntArr2D[2] = new int[4];
Лист. 7.14

В этом примере выделяется память под рваный массив целых чисел, у которого три строки, а в каждой строке содержится разное количество элементов: в первой – 2, во второй – 10, в третий – 4.


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


int[][] jaggedArray = new int[3][];


jaggedArray[0] = new int[] { 1, 3, 5, 7, 9 };
jaggedArray[1] = new int[] { 0, 2, 4, 6 };
jaggedArray[2] = new int[] { 11, 22 };

int[][] jaggedArray2 = new int[][]


{
new int[] {1,3,5,7,9},
new int[] {0,2,4,6},
new int[] {11,22}
};
int[][] jaggedArray3 =
{
new int[] {1,3,5,7,9},
new int[] {0,2,4,6},
new int[] {11,22}
};
Лист. 7.15

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





Download 2.46 Mb.

Do'stlaringiz bilan baham:
1   ...   29   30   31   32   33   34   35   36   ...   91




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling