배열의 선언
var
A : array[0..5] of integer;
오브젝트 파스칼의 경우 c에서처럼 항상 0부터 시작하지 않는 경우도 있다.
예)
A : array[28..30] of integer;
위와 같은 경우 루프나 index 참조시 조심해야 하는데 이때는 배열의 상한과 하한을 알려주는
Low(), High()를 사용하면 된다.
예)
for i := Low(A) to High(A) do
//todo
end;
이차원 배열(다차원 배열)
var
A : array[1..2, 1..2] of integer
동적 배열
오브젝트 파스칼에서의 동적 배열
선언
var
A : array of string
메모리 할당
SetLength(A, 33);
사용
A[0] := 'Object Pascal';
동적배열은 항상 0부터 시작된다.
메모리 해제
A := nil;
동적 배열은 일반 배열과 달리 AnsiString에서 사용하는 참조 기법을 사용한다.
따라서 값 복사 시 유의해야 한다.
예)
var
A1, A2 : array of integer;
begin
SetLength(A1, 100);
A2 := A1;
A1[0] := 50;
A2[0] := 3;
이 경우 A1의 값이 3으로 바뀐다.
이런 경우가 발생하지 않게 하려면 Copy 명령을 사용해야 한다.
이차원 동적 배열 할당
AA : array of array of integer;
원본링크 : http://blog.naver.com/PostView.nhn?blogId=skyofdus&logNo=30027965521
'공부방 > Delphi' 카테고리의 다른 글
[델파이] 구분자로 String > TStringList, TArray로 분할하기 (0) | 2018.04.06 |
---|---|
[델파이] 인터넷 창 띄우기 (0) | 2018.04.06 |
[델파이] delay (0) | 2018.04.06 |
[델파이] SendMessage - String 으로 넘기기 (0) | 2018.04.06 |
[델파이] EncodeBase64 (0) | 2018.04.06 |