앞서 포인터와 관련된 포스팅의 연장선, 배열을 포인터에 적용해 보겠다.
& 연산자는 중복 불가이고, * 연산자는 중복 가능이다.
*a == *&a[0] == a[0]
이와 같이 배열의 시작주소는 포인터의 값과 같다.
배열 첨자가 i인 원소의 주소는 &a[i] == a+i 로 나타낼 수 있다.
이를 2차원 포인터와 연관지어 생각하면
ex) int *p; int **pp; p = &a; pp = &p; |
이 예제에서 유추할 수 있는 관계는 다섯가지이다.
⑴ p = &a 변수 p는 변수 a의 주소 저장
⑵ *p = a *p는 a와 동일한 일반 변수
⑶ pp = &p pp에 저장된 주소는 1차원 포인터 변수 p의 주소
⑷ *pp = p = &a 변수 a의 주소
⑸ **pp = *p = a
포인터 배열을 사용하는 것은 다음 포스팅에서 함수 포인터와 함께 예시를 제시하겠다.
'study > C++' 카테고리의 다른 글
[클래스] 클래스 멤버함수 정의하기 / 생성자와 소멸자 (0) | 2017.05.14 |
---|---|
[구조체] 구조체 배열로 5명의 성적을 입력받아 총점, 평균 출력하기 (0) | 2017.05.14 |
[포인터] 포인터 기본 / 주소에 의한 전달방식 / 참조에 의한 전달방식 (0) | 2017.04.28 |
[함수]함수를 이용한 짝홀 판단 / 함수를 이용한 평균 구하기 (0) | 2017.04.18 |
[제어문] 알파벳 A-Z까지 출력 / *로 역삼각형 출력 / 구구단 프로그램 출력 (0) | 2017.04.03 |