티스토리 뷰

Java의 배열에서 메모리 할당 방식:

stack area -  배열 이름만 (메서드 내부에서 선언했을 경우. 4byte)

heap  area - 실제 배열 크기 할당. new 동적 메모리 할당자 이용, Garbege컬렉션에 의해 자동 소멸.

   

 

선언, 초기화

1) 선언 후 초기화

int[] a;     int a[];                                       a = new int[3];      a = new int[]{1,2,3};

int[][] a;  int[] a[];   int a[][];                    a = new int[3][];   a = new int [3][2];

                                                                a = new int[][]{{1,2},{3,4}};

 

2) 선언과 동시에 초기화  

int[] a = {1,2,3};         int a[] = {1,2,3};

int[][] a = {{1,2},{3,4}};           

 

 cf. 1,2차원 배열 동시 선언

             int[] a,b[];                                    //a: 1차원, b: 2차원.

      다이나믹한 2차원 메모리할당.

             char[][] a = new char[2][];

             a[0] = new char[3];  

             a[0][0] = 'c';   a [0][1] = 'a';   a[0][2] = 'r';

             a[1] = new char[5];

             a[1][0] = 'j';    a[1][1] = 'a';    a[1][2] = 'v';    a[1][3] = 'a';      a[1][4]='!';

 

 

 System.out.println("배열길이:" + arr.length);                                    //배열길이확인 
 System.out.println("배열원소:" + arr[0]+" "+arr[1]+" "+arr[2]);

최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함