Q&A

  • A[][]같은 배열을 사용할 수 없나요?
댈파에서는 길이가 정해져 있지 않은 C의 A[][]같은 배열을 어떻게 사용해야되죠 동적 배열이라는 것이 델파이에도 있긴 한데 그것도 결국 사용시점에서는 반드시 배열의 크기를 정해주고 선언을 해 주어야 하더군요
그러나 다루는 자료가 크기를 예측할 수 없는 자료일 경우 이 자료에 대한 버퍼로서 배열을 사용한다고 했을때 그 배열 역시 크기를 정하지 않고 사용할 수 있는 A[][]식의 배열이었으면 하거든요 그런데 아무리 찾아봐도 델파에는 그런형식의 배열이 없는것 같아요

간단하게 말씀 드려서 크기를 예측할 수 없는 자료에 대한 버퍼가 필요하다고 했을때 델파에서는 반드시 배열의 크기를 지정해 주어야 하니 어떻게 이것을 맞춰야 될지 모르겠습니다.  리스트 박스나 스트링 그리드 같은것을 사용하거나 혹은 디스크에 직접 파일고 기록을 하는 방법 같은것을 사용하면 가능하지 않을까 하는 생각도 해 봤는데 그것 말고 반드시 크기를 정하지 않은 변수를 사용하고 싶다고 했을때 어떻게 해결해야 되는지 모르겠습니다.

도움 부탁드리겠습니다.

감사합니다.
2  COMMENTS
  • Profile
    타락천사 2002.06.03 01:12
    안녕하세여.. 타락임다..

    먼가 착각이 있으시군여. C나 C++ 에 배열에 메모리를 할당하지 않고 사용 할 수 있는 배열은 없습니다.

    포인터로 사용하기도 하는데, 포인터 지정이 할당된 메모리를 포인터에 지정하는 것이니, 메모리 할당과 같습니다.

    즐푸하세여..

    타락천사..

  • Profile
    ondal 2002.06.04 08:00
    말씀하신대로 제가 착각한것 같습니다.
    그러나 어쨌든 제 기억으로는 포인터 변수로 사용하더라도 A[][] 같은 식으로 쉽게 선언을 해서 사용했던 기억이 나는것 같습니다. 그것이 실제로 메모리 할당을 한 것이라도 사용자의 입장에서는 미리 그 배열의 크기를 정해줄 필요성이 없었거든요 델파이에서도 그와같이 쉽게 쓸수 있는 방법이 없을까요
    제가 생각한 비슷한 방법은 먼저 동적 배열을 선언해 주고 선언 시점에서 데이타를 가져 오려고 하는 객체의 가능한 총 배열의 길이를 계산해 주고 계산된 길이만큼 동적 배열의 길이를 할당해 주고 가져오는 것인데 그러나 그렇게 계산할 수 없는 객체의 경우에는 얼마만큼의 길이를 정해줘야 할지 모르기 때문에 좀 어려운것 같은 생각이 듭니다. 물론 메모리의 한계가 있더라도 하드디스크의 용량을 감안하여 메모리 스왑 기능을 이용하게 된다면 사용하는데 무리는 없지 않을까 하는 생각도 들긴 하지만 저의 입장에서는 실력이 미천하여 그런 고급기술적인 부분까지 생각할수 있는 입장은 아니고 포인터 배열이든 그냥 배열이든 데이타를 임시로 저장할 버퍼로서의 기능이 필요시 C에서와 같이 간단히 A[][] 같이 선언해서 쉽게 사용했으면 하는 생각에서 질문을 올렸습니다.

    혹시 가능한 방법이 있으면 다시한번 도움을 부탁드리구요 제가 질문한 내용이 델파이의 특성을 이해하지 못한 관점에서의 질문이라면 델파이에서는 그럼 어떤 식으로 A[][] 과 비슷한 형식으로 사용할수 있는지 가르쳐 주시면 감사하겠습니다.  

    지금 델파이를 조금 하고 있는 마당에서 어떤것은 어렵게 느껴지고 어떤것은 쉽고 보편적으로 댈파이의 접근방법이 너무 특이해서 실제로는 쉽고 간결한 내용이겠지만 생소하게 느껴지는 부분도 참 많이 있었습니다.

    님의 도움으로 델파이의 생소했었던 부분을 다시한번 친근하게 느끼게 돼서 델파이에 더 가깝게 될수 있게 되기를 바랍니다.

    감사합니다.