Delphi [델파이 문법] 문법 요소 #9

2012.11.05 20:44

관리자 조회 수:5995

단순문
단순문(simple statement)은 다른 문장을 포함하지 않습니다. 단순문에는 대입문, 프로시
저와 함수 호출, goto 문이 포함됩니다.


■ 대입문
대입문(assignment statement)의 형식은 다음과 같습니다.

1.png

여기서 variable은 어떤 변수 참조 형태이든 가능한데, 여기에는 변수, 변수 타입 캐스트, 역
참조(dereference) 포인터, 구조(structured) 변수의 컴포넌트 등이 있습니다. expression
은 대입이 가능한 모든 표현식이 될 수 있습니다. (함수 블럭 안에서 해당 함수 자체의 이름
을 variable로 쓸 수도 있습니다. 5장“프로시저 및 함수”를 참조하십시오.) := 기호를 대입
연산자라고 부르기도 합니다.

대입문은 variable의 현재 값을expression의 값으로 바꿉니다. 예를 들면,

2.png

이 문장은 변수 I에 값 3을 대입합니다. 대입 연산자의 왼쪽에 있는 변수 참조가 오른쪽의 표
현식에 사용될 수도 있습니다. 예를 들면,

3.png

이 문장은 I의 값을 증가시킵니다. 다른 대입문의 예는 다음과 같습니다.

4.png


■ 프로시저 및 함수 호출
프로시저 호출은 프로시저 이름(한정자가 지정될 수도 있습니다)과 (필요한 경우) 파라미터
리스트로 구성됩니다. 다음과 같은 예들이 있습니다.

5.png

확장 문법이 활성화된 상태에서는({$X+}) 함수 호출은 프로시저 호출과 마찬가지로 문장
으로서 사용될 수 있습니다.

6.png

함수 호출을 이런 방식으로 사용할 경우 리턴 값은 버려집니다.
프로시저와 함수에 대한 자세한 내용은 5장“프로시저 및 함수”를 참조하십시오.


■ Goto 문

goto 문의 형식은 다음과 같습니다.

7.png

이 문장은 프로그램 실행을 지정한 레이블이 표시된 문장으로 이동합니다. 문장에 레이블을
표시하려면 먼저 레이블을 선언해야 합니다. 그런 다음, 레이블로 표시하려는 문장 앞에 다
음과 같이 레이블과 콜론을 써넣습니다.

8.png

레이블은 다음과 같이 선언합니다.

9.png

다음과 같이 여러 개의 레이블을 한 번에 선언할 수도 있습니다.

10.png

레이블은 유효한 식별자 또는 0과 9999 사이의 숫자를 사용할 수 있습니다.
레이블 선언, 레이블이 표시된 문장, 그리고 goto 문은 같은 블럭에 있어야 합니다.(3장의
“블럭과 유효 범위”절을 참조) 따라서 프로시저나 함수의 안이나 밖으로 이동하는 것은 불
가능합니다. 한 블럭에서 둘 이상의 문장을 같은 레이블로 표시하지 마십시오.
예를 들면, 다음과 같습니다.

11.png

이 문장은 Beep 프로시저를 반복적으로 호출하는 무한 루프를 만듭니다.
또, try-finally나 try-except 문의 안이나 바깥으로 이동하는 것은 불가능합니다.
일반적으로 구조적 프로그램에서는 goto 문을 사용하지 않는 것이 좋습니다. 그러나 다음 예
제처럼 중첩된 루프로부터 빠져나가는 방법으로 사용되는 경우도 있습니다.

12.png

중첩 루프를 빠져나가기 위해 goto 문을 사용했다는 점을 눈여겨보십시오. 루프나 구조문의
안으로 이동해서는 안됩니다. 예기치 못한 결과를 일으킬 수 있기 때문입니다.

번호 제목 글쓴이 날짜 조회 수
공지 [DelphiCon 요약] 코드사이트 로깅 실전 활용 기법 (Real-world CodeSite Logging Techniques) 관리자 2021.01.19 22591
공지 [UX Summit 요약] 오른쪽 클릭은 옳다 (Right Click is Right) 관리자 2020.11.16 21024
공지 [10.4 시드니] What's NEW! 신기능 자세히 보기 관리자 2020.05.27 23082
공지 RAD스튜디오(델파이,C++빌더) - 고객 사례 목록 관리자 2018.10.23 28881
공지 [데브기어 컨설팅] 모바일 앱 & 업그레이드 마이그레이션 [1] 관리자 2017.02.06 30050
공지 [전체 목록] 이 달의 기술자료 & 기술레터 관리자 2017.02.06 25397
공지 RAD스튜디오(델파이, C++빌더) - 시작하기 [1] 관리자 2015.06.30 46348
공지 RAD스튜디오(델파이,C++빌더) - 모바일 앱 개발 사례 (2020년 11월 업데이트 됨) 험프리 2014.01.16 182316
183 [C++빌더 XE3 비디오 31] Anchors 프로퍼티와 Layout 컴포넌트(TScaledLayout, TFlowLayout, TGridLayout) 활용 관리자 2013.01.03 6021
182 [C++빌더 XE3 비디오 31] C++빌더XE3로 Win32, Win64, OSX용 애플리케이션 만들기 관리자 2013.01.03 5540
181 [델파이 문법] 데이터 타입, 변수 및 상수 #1 관리자 2012.12.25 7036
180 [델파이 문법] 문법 요소 #15 file 관리자 2012.12.25 5431
179 델파이/C++빌더/RAD Studio XE3 업데이트1 다운로드 및 보완사항 리스트 관리자 2012.12.21 5240
178 CodeRage7 : 'C++' 다시보기 관리자 2012.12.21 5025
177 [C++mas] C++빌더XE3로 나만의 첫 번째 C++11 애플리케이션 만들기 관리자 2012.12.21 5783
176 [C++mas] C++빌더 코드 64-bit로 마이그레이션하기 관리자 2012.12.21 5838
175 [델파이 문법] 문법 요소 #14 file 관리자 2012.12.17 5407
174 20121204 C++빌더XE3 세미나 자료 file 관리자 2012.12.05 5573
173 C++의 창시자 "비얀 스트로스트럽"이 직접 진행하는 CodeRage7 세션! 관리자 2012.11.30 5860
172 [웹 세미나] RAD 따라잡기: 윈도우8 스타일 관리자 2012.11.27 4530
171 CodeRage7 : '델파이' 다시보기 관리자 2012.11.24 5290
170 [델파이 문법] 문법 요소 #13 file 관리자 2012.11.20 6167
169 [델파이 문법] 문법 요소 #12 file 관리자 2012.11.15 7573
168 David I 의 31일 튜토리얼 비디오 관리자 2012.11.14 7010
167 [델파이 문법] 문법 요소 #11 file 관리자 2012.11.12 7653
166 [델파이 문법] 문법 요소 #10 file 관리자 2012.11.08 7575
» [델파이 문법] 문법 요소 #9 file 관리자 2012.11.05 5995
164 [델파이 문법] 문법 요소 #8 file 관리자 2012.11.01 5294