у меня был этот вопрос с тех пор, как я изучил двумерные массивы... и я надеюсь, что кто-то может прояснить для меня некоторые вещи..
вот что я знаю
int[] x= new int[2];
этот одномерный массив состоит из двух элементов.
int[][] y=new int[2][3];
этот двумерный массив состоит из шести элементов, верно? (2 х 3 = 6)
но когда я смотрю на то, как на самом деле создается двумерный массив,
сначала в стеке создается переменная ссылочного типа с именем y, которая может хранить адреса памяти двумерного массива.
затем в куче создается объект с двумя элементами, которые могут хранить одномерные адреса памяти.
- затем создаются еще 2 одномерных массива, каждый из которых состоит из 3 элементов, которые могут хранить значения типа int. и адреса памяти этих двух одномерных массивов присваиваются двум элементам, которые были сделаны ранее внутри объекта.
- затем адрес памяти этого объекта присваивается переменной y, которая находится в стеке.
теперь проблема в том, что внутри этого объекта в начале создаются только два элемента, верно? Разве это не означает, что двумерный массив состоит из двух элементов. и два одномерных массива содержат по 3 элемента каждый?
все эти вопросы меня беспокоят, потому что y.length = 2 и y[0].length = 3
пожалуйста, поправьте меня, если я ошибаюсь, и надеюсь, что кто-то может мне помочь. Спасибо