글
■ 배열과 포인터는 서로 밀접한 관계를 가진다. 포인터에 정수를 더하여 배열의 각 원소를 가리킬 수 있다.
int arr[10] = {1,2,3,4,5,6,7,8,9,10}
int *parr = &arr[0]; or int *parr = arr;
(1) 배열
: 변수가 여러개 모인것으로 메모리 상에 연속되게 저장한다. 또한 배열의 값은 첫번째 주소값을 가진다. (&arr[0] == arr)
(2) 포인터
: 특정한 데이터의 메모리상의 시작 주소값을 저장한다.
(3) 배열과 포인터
: 배열의 x 번째 원소를 포인터로 가리킬 수 있다.
배열 arr[3] 의 값은 4 이다.
포인터 *(parr + 3) 값도 4 이다.
또한 *parr[3] 역시 4 이다.
arr[3] == *(parr + 3) == *parr[3]
포인터 *parr이 가리키는 것은 배열의 시작 주소를 가리키고 있으므로, + 3 연산을 통해 배열의 4번째 원소를 가리킬 수 있게 된다.
'P rogramming > C Language' 카테고리의 다른 글
2차원 배열의 연산 (0) | 2011.10.25 |
---|---|
2차원 배열의 포인터 (0) | 2011.10.25 |
포인터의 const (0) | 2011.10.24 |
ASCII(아스키) 코드표 (0) | 2011.10.21 |
Call by Value & Call by Reference (0) | 2011.10.04 |
RECENT COMMENT