본문 바로가기

C#

[C#] 메모리 할당.


 제목이 맞는지 모르겠지만, 일단 new 에 대한 내용이니...


이번에 작성할 내용은 클래스 내부의 배열이나 다른 클래스에 대한 이야기 이다. 일단.




이런 두 개의 클래스가 있는데. testArray는 testClass 에 내부에 배열로 선언 되어 있다.

여기에 값을 넣어 보자. 






일단 testClass를 생성하고 for을 돌면서 값을 채우는데... a 에 값이 설정하고 b는 for문을 돌면서.. 

이 구문이 될까요?... 결론은 안됩니다.

 testArray가 생성되어 있지 않지 않으니까요..


이런 내용이 출력 되지요.. 그럼 testArray를 생성해 보죠..




 이번에는 testArray를 생성 했습니다. 될까요?... 저 역시!!! 처음에 될줄 알았습니다... ㅎㅎㅎ 이 말은 안된다는 거죠...

일단 testArray의 전체 사이즈는 잡혔다고 생각하시면 됩니다. testArray[4] 의 공간은 할당 했는데.. 여기서 당연히 그럼 

그 안에 하나하나 값을 넣는건 되겠지.. 라고 생각했던 것이 오판 이었습니다.


 해서... 완전한 테스트 코드는...




이 것이 되겠군요..


 여기서 주의 할 점이 있습니다. 

※ 배열 전체 사이즈와 배열 내부의 개개의 사이즈를 클래스가 생성될 때, 한번 해주어야 합니다. 물론 다시 한다고 프로그램이 죽거나 하지는 않습니다. 아니 차라리 죽으면 더 명확한데. 안 죽고 배열 내부가 초기화 됩니다.


 


'C#' 카테고리의 다른 글

[C#] Dictionary 사용법 1  (0) 2013.11.18
[C#] 배열 복사.  (0) 2013.10.22
[C#] const 와 readonly  (0) 2013.10.21
[C#] 배열 정렬  (0) 2013.10.21
[C#] 배열 초기화.  (0) 2013.10.21