본문 바로가기

반응형

array

(2)
배열 선언, 복사 자바에서의 배열 선언은 C와는 조금 다르다. C에서는 int num[10]; int num2[]={1,2,3}; 이런식으로 하였다면 자바는 int[] num = new int[10]; int[] num2 = new int[]{1,2,3}; int[] num3 = {1,2,3}; 이렇게 3가지 방법이 있다. 2,3 번째는 초기화를 같이 해주는 것이다. 자바와 C의 배열의 다른점은 자바에서는 배열을 만들고 메모리를 할당해 줘야 한다는건데 int, float등 기본 데이터형은 자동으로 메모리가 할당되지만 객체인 경우는 그렇지 않다. 그래서 직접 할당을 해줘야 한다. 안그러면 NULL값이 있게 된다. Person[] yoon = new Peson[10]; 이렇게 한다고 배열에 메모리가 할당되지 않는다. 값을 출..
배열 선언 오늘 처음으로 자바로 뭔가를 만들어 봤음;; 만들다가 조금 힘들었던 부분중 하나가 배열 ㅋㅋ int[] a = new int[10]; a라는 이름으로 크기가 10인 배열을 선언하는 문장이다. 다른 타입도 똑같이 해주면 된다. 이건 금방 찾아서 했는데... 문제는 객체 배열이었다.. 객체도 위와 같은 방법으로 student[] std = new student[10]; 이렇게 하면 컴파일시 아무 문제도 없다. 하지만... 사용할때 std[1].name = "ABC"; 이렇게 할경우에도 컴파일시 아무 문제가 없다. 실행하면... 오류가 뜬다.. NULL 어쩌고 저쩌고 하는건데... 이것 때문에 엄청 헤맸다;; 결론은 std에 student 공간만 10개 만들었지.. 메모리(?)가 할당안된거 같다 해결방법은 사..

반응형