대입 연산

대입 연산 (Assignments)

대입은 변수에 값을 넣고, 변수가 가지던 이전 값을 교체하는 동작이에요.

출처: 문서

본문

표준 파스칼 대입 연산자(:=)는 오른쪽 표현식의 결과로 변수 값을 그냥 교체해요. 그런데 Free Pascal은 여기에 더해 C 스타일의 구성 몇 가지도 지원해요. 사용 가능한 구성은 표 13.1에 정리돼 있어요.

표 13.1: Free Pascal에서 허용되는 C 스타일 구성

대입 결과
a += b b를 a에 더하고, 결과를 a에 저장
a -= b a에서 b를 빼고, 결과를 a에 저장
a *= b a에 b를 곱하고, 결과를 a에 저장
a /= b a를 b로 나누고, 결과를 a에 저장

이러한 구성이 동작하려면 -Sc 커맨드라인 스위치를 지정해야 해요.

한 가지 알아두세요. 이 구성들은 타이핑 편의만 위한 것이고, 생성되는 코드는 다르지 않아요. 유효한 대입문 예시를 몇 개 볼게요.

X := X+Y;
 X+=Y;      { Same as X := X+Y, needs -Sc command line switch}
 X/=2;      { Same as X := X/2, needs -Sc command line switch}
 Done := False;
 Weather := Good;
 MyPi := 4* Tan(1);

타입 있는 포인터를 역참조하면 그 포인터가 가리키는 타입의 변수가 되는 점을 기억하면, 다음 대입들도 유효해요.

Var
   L : ^Longint;
   P : PPChar;
 begin
   L^:=3;
   P^^:='A';

두 번째 대입에서 이중 역참조가 일어나는 걸 눈여겨보세요.

더 알아보기