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

+ Recent posts