13-1 포인터와 배열
- 배열의 이름은 포인터이다.
(정확히는 상수 포인터)
- 배열의 이름은 첫번째 요소의 주소 값이다.
- 배열의 이름을 포인터처럼 사용할 수 있는 것처럼, 포인터를 배열의 이름처럼 사용하는 것이 가능하다.
13-2 포인터 연산
- 포인터 연산에 따른 값의 변화는 해당 포인터의 타입에 따라 다르다.
int형 포인터를 ++ 시키면 값은 4가 증가된다.
- 포인터 연산을 할 때, 배열의 범위를 넘지 않도록 주의한다. 그러한 에러는 검출되지 않은채 잘못된 실행결과가 나온다.
array[i] == *(arr+i)
- 배열의 이름은 포인터와 똑같이 사용할 수 있다.
13-3 문자열 상수를 가리키는 포인터
- 문자열을 표현하는 방법은 변수로 표현하는 법(배열)과 상수로 표현하는 법, 두가지가 있다.
- 문자열 상수는 메모리 공간에 할당되면 주소를 반환한다.
- 특정 컴파일러에서는 같은 문자열 상수를 선언하면 같은 주소값을 쓴다. 최적화를 한 것이다.
(이는 문자열 상수를 조작할 수 없음을 전제로 한다.)
13-4 배열 요소가 포인터인 배열
char* arr[];
- 포인터를 요소로 지니는 포인터 배열.
- char형 포인터인 경우 문자열 배열 이라고도 한다.
'학부 전공 > C' 카테고리의 다른 글
16. 다차원 배열 (0) | 2010.07.14 |
---|---|
14. 포인터와 함수 (0) | 2010.07.14 |
12. 포인터의 이해 (0) | 2010.07.14 |
11. 1차원 배열 (0) | 2010.07.14 |
9. 함수 (0) | 2010.07.09 |