Q&A

  • 동적 배열에 관한 질문
안녕하세요 영원한 델초보 어린왕자임다..

동적배열에 관한 질문인데요.



var

ar:array of integer;

begin

SetLength(ar,1);

ar[0]=3;

SetLength(ar,2);

showmessage(IntToStr(ar[0]));

end;



ar[0]은 어떻게 출력됩니까?

그러니깐 중복해서 배열크기를 정해주면 어떻게 됩니까?

에러가 납니까?

고수님 답변 기다리겠슴다.

1  COMMENTS
  • Profile
    구창민 2000.10.17 00:56
    어린왕자 wrote:

    > 안녕하세요 영원한 델초보 어린왕자임다..

    > 동적배열에 관한 질문인데요.

    >

    > var

    > ar:array of integer;

    > begin

    > SetLength(ar,1);

    > ar[0]=3;

    > SetLength(ar,2);

    > showmessage(IntToStr(ar[0]));

    > end;

    >

    > ar[0]은 어떻게 출력됩니까?

    > 그러니깐 중복해서 배열크기를 정해주면 어떻게 됩니까?

    > 에러가 납니까?

    > 고수님 답변 기다리겠슴다.





    중복해서 선언한다고 해서 에러는 발생하지 않겠네요.



    그리고, ar[0]의 값도 변하진 않겠지만,



    중복선언시 더 작은 값의 배열을 선언하면 ar[0]의



    값이 유지된다고는 보장할 수 없습니다.



    그러니까 처음에 10개의 배열을 선언하고, 두번째 선언시 5개의 배열을



    선언한다면 5개의 배열뒤, 즉 ar[5]의 값은 엉뚱한 쓰레기 값이



    들어있게 될거 같네요.



    그럼, 즐거운 프로그래밍 하시길~