二維陣列
簡單說:二維陣列就是,陣列裡面裝著陣列。
通俗說:乙個箱子裡面,裝著多個箱子。箱子才裝著蘋果(元素)。
定義格式:int arr=new int[3][2];
定義了乙個arr的二維陣列。
這個arr的二維陣列裡面有三個一維的陣列。
每乙個一維陣列裡面有2個元素。
一維陣列的名字arr[0],arr[1],arr[2]
給二維陣列賦值資料:
arr[0] [0]=78;給二維陣列裡面的第乙個一維陣列的第乙個元素賦值為78。
arr[2][1]=90;給二維陣列裡面第三個一維陣列的的第2個元素賦值為
90;
public
class demo
}
二維資料的記憶體**
int arr=new int[3][2];//進行記憶體**分析。
首先主函式會先進棧,然後先宣告乙個arr的物件。
在堆記憶體中開闢空間,開闢出三個一維陣列的物件。名稱分別是
arr[0],arr[1],arr[2]。然後生成位址值給賦值給arr.
然後在開闢空間,分別是這三個一維陣列儲存資料的地方。
之後便生成了位址。給自己所屬的一維陣列的物件引用。
物件的預設初始化值為null。int型別為0;
arr[1][1];這句**的意思就是,arr這個物件裡面為arr[1]這個物件的第二個資料的值。 上面顯示的為88。
arr[1][2];這個2角標是不存在的,所以的角標越界異常。
第二種定義二維陣列的格式
格式2:int arr=new int[3];
二維陣列中有3個一維陣列
每個一維陣列都是預設初始化值null
可以對這個三個一維陣列分別進行初始化
arr[0] =new int[3];一維陣列裡面有3個元素
arr[1] =new int[1]; 一維陣列裡面有1個元素
arr[2] =new int[2];一維陣列裡面有2個元素
首先主函式進棧,然後生成物件arr。在堆記憶體中生成三個一維陣列,分別是arr[0],arr[1],arr[2]。產生位址值0x0045,賦值給arr。
然後分別初始化維null。然後還在棧記憶體中開闢空間,然後在開闢空間,分別是這三個一維陣列儲存資料的地方。arr[0]開闢2個空間,arr[1]開闢乙個空間,arr[2]開闢3個空間。來存放元素。產生的位址值,分別賦值給其對應的一維陣列物件。這三個儲存元素的空間預設的初始化值為0。
public
class demo,,};
int sum=0;
for(int x=0;xfor(int y=0;yout.println(sum);}}
二維陣列 二維陣列和指標
include using namespace std int main 如上面這段程式所示,通過取位址符 指標 p 獲得了變數 a 的位址,那麼解引用符 就可以從 p 中得到變數 a 的值。也就是說,p a和 p a是等價的。p 是變數 a 的位址,從 p 中就可以取出 a 的值。反之,能從 p ...
陣列 二維陣列
一組相同型別的資料組合,是一種引用型別。陣列名稱不是固定的,與其存放的資料的型別有關。如 存放int型別的資料,陣列名稱 int 存放字串資料,陣列名稱 string 存放scanner型別的資料,陣列名稱 scanner陣列中的每個資料,都是這個陣列的元素。1 宣告 元素型別 變數名 元素型別 變...
陣列 二維陣列
陣列,從名字很簡單看出就是數字組合,一堆數 一堆元素 在一起。然後看一下怎麼定義,怎麼初始化。陣列的動態初始化 初始化之後每個元素的儲存內容為其對應資料型別的預設值。資料型別 陣列名 new 陣列型別 大小 int arr new int 5 資料型別 陣列名 new 陣列型別 大小 int arr...