Q&A

  • 파라메터에 대한 질문입니다.
안녕하세요.. 아직 초보라..질문이 많습니다.*^^
파라메터에서 load_ini(sSection,sIdent:string, var sValue:string);
여기에서요..
그냥 sSection이란 값과 앞에 var sValue에서요...
var이 있고없고의 차이점이 뭔지를 정확히 알고 싶습니다.
그럼, 조은하루 되세요.~
1  COMMENTS
  • Profile
    최무승 2002.05.02 02:20

    저도 초본데요..앞에 var이 붙으면 리턴값이 변해서 들어옵니다.

    무슨뜻이냐면, 우리가 쓰는 변수를 호출하면 원래는 그변수의 복사된값이

    넘어 가는데, 앞에 var을 붙여버리면 아예 변수자체가 넘어가는거지요..

    예를 들자면,

    fuction aaa(k : integer) : integer;
    begin
        k := k + 1;
        result := k;
    end;

    procedure TForm1.Button1Click(Sender : TObject);
    var i,j : integer;
    begin
       i := 10;
       j := aaa(i);
       ShowMessage(IntToStr(i) + '   ' + IntToStr(j));
    end;

    요렇게 코딩을하고 결과를 보면 당연히 ======>    10   11      
    이런값이 나옵니다.

    그런데 위함수의 파라미터인 k 앞에 var이 붙으면=======>    11   11
    이렇게 나옵니다.

    즉 파라미터 앞에 var을 붙이면, 그 리턴값 자체가 변하는거죠...