Q&A

  • string의 크기는?
a : string

a:='asd';
이면 메모리에 전부 4바이트가 할당되고 문자 크기는 3바이트가 돼는건가요?

그리고
a:= 'asdfgh';
이면 메모리에 6바이트가 할당되고 문자 크기도 6바이트가 돼는건가요?

그리고 문자열의 길이는 Length로 알아낼수 있는데
문자열의 크기(byte)는 어떻게 알아낼수 있죠?

답변 기다리겠습니다..
3  COMMENTS
  • Profile
    도니 2003.01.17 19:46
    showmessage(inttostr(sizeof(a)));
    하시면 됩니당.

  • Profile
    포 맷 2003.01.17 23:24
    s1,s2 : string;

      S1 := '123';
      S2 := '123456'';
      edit2.text := inttostr(sizeof(s1));  ---> 4
      edit3.text := inttostr(length(s1)); ---> 3
      edit4.text := inttostr(sizeof(s2));  ---> 4
      edit5.text := inttostr(length(s2)); ---> 6

    으로 나오는데
    왜 둘다 싸이즈가 4이죠?
    들어간 값이 커지면 s1,s2의 크기가 틀려야하는거 아닌가요?
    답변기다리겠습니다..자세히 설명해 주셔요...

  • Profile
    최용일 2003.01.17 23:34
    안녕하세요. 최용일입니다.

    string형은 포인터입니다. 때문에 자체 크기는 4바이트로 변하지 않습니다. 이넘이 가리키는 문자열값의 데이터크기(Length로 구하는값)야 어떤 데이터가 들어 있느냐에 따라 달라지죠...

    ^^ 항상즐코하세요...