델파이 책을 보던중에여
이런 구문이 있는데 잘 이해가 안가거든여...
소스만 나와서여...
unit strutils;
interface
function ShortStringAsPChar(var S : ShortString): PChar;
implementation
이런 구문이 있는데여
함수 선언에서 var 라는게 있는데 S가 변수라는 것을 뜻하는 건가여?
그리구여 함수 선언 끝에 :PChar 이건는 왜 있는거에여?
c나 자바에서는 그런거 없는걸로 알거든여...
답변 부탁드립니다.
즐거운 하루 되세요
간단히 말씀드릴께요
Pascal은 procedure와 function으로 함수를 구분하는데요
함수이름으로 반환값을 가져와야되는경우 즉 결과값을 요하는 경우는 function을 사용합니다
또 function뒤엔 결과값의 자료형을 선언하는겁니다.
C언어 같은경우는 함수면 앞(맨앞에)자료형을 쓰면 그게 function과 같은겁니다.
또 인자중에 var를 사용하는 변수는 호출시 값과 다른 결과값을 줄수있습니다.
포인터형 변수를 사용하는것과 같아요.
그래서 함수호출시에 상수형이 아닌 변수로 값을 넘겨야합니다.
위에 호출시 var S : ShortString 게 선언하였으면
ShortStringAsPChar('문자상수') 이렇게 안되구요
s:= '문자상수';
ShortStringAsPChar(S);
이렇게하여야하구요 함수내에서도 결과값 이외로 인자변수에도 값을 넘길수있습니다.