[Zig] 배열과 포인터, 슬라이스

[원본 링크]

배열

배열의 타입은 다음과 같이 정의된다.
[길이]T

그리고 배열의 리터럴값은, 중괄호에 감싸인 채로 왼쪽에 타입이 붙은 시퀀스다.
종합하면 이런 식이 된다.



포인터

포인터의 타입은 아래와 같이 정의된다.
배열과 포인터는 긴밀한 관계를 갖는다.
*T
***[N]T *// [N]T 배열을 가리키는 포인터
**[
]T **// 길이를 알수없는 배열
**[]T **// 길이를 아는 배열

공통적으로 & 연산자를 통해 주소값을 획득할 수 있으며, value.* 나 value[N] 의 형태로 역참조할 수 있다.



슬라이스

슬라이스는 배열에 대한 부분참조 타입이다.
타입은 []T 의 형태로 표현되고, 배열[a..b] 의 형태로 생성할 수 있다.
사용례는 다음과 같다.