브래의 슬기로운 코딩 생활
자료구조 구현을 위한 C 프로그래밍 기법 - 포인터 본문
포인터 : 개념
포인터 개념
포인터변수
■ 형식
→ 주소 연산자 "&"는 뒤에 오는 변수명의 주소를 표시한다.
→ 포인터(참조) 연산자 "*"는 뒤에 오는 포인터 명의 주소이며 주소가 지정하는 위치의 데이터 값을 나타낸다.
포인터 : 포인터 선언
포인터 선언 형식
포인터 : 포인터 연산
포인터 연산자
포인터의 초기화
1. 주소 연산자를 사용하여 변수 주소를 지정
2. 동적 메모리를 할당하고 그 시작 주소를 포인터 값으로 지정
→ 동적 메모리를 할당하는 malloc()함수를 사용하여 문자형(char) 공간 100개를 할당하고,
그 시작 주소를 포인터 ptr에 저장한다.
3. 문자형 포인터에 문자열의 시작 주소를 지정
→ 문자열 자료형은 일반 자료형과 다르게 문자열 지정만으로 그 시작 주소를 전달할 수 있다.
“korea”문자열이 ptr에 저장되는 것이 아니라 “korea”문자가 저장된 위치의 시작 주소가 포인터 ptr에 저장된다.
4. 배열 이름을 이용하여 배열 시작 주소를 지정
→ 배열 이름은 문자열과 마찬가지로 그 시작 주소를 전달할 수 있다.
포인터 변수 ptr은 문자형(char) 요소를 100개 가진 배열 A의 시작 주소를 지정한다.
5. 배열의 첫 번째 요소의 주소를 이용하여 배열 시작 주소를 지정
→ 배열의 시작은 배열의 첫번째 요소, 측, 0번 인덱스의 배열 요소를 말한다.
그러므로 0번 배열 요소를 사용하여 배열의 그 시작 주소를 포인터에 전달할 수 있다.
인덱스로 표시하는 배열의 각 요소는 그 자체로는 주소를 전달할 수 없기 때문에 주소 연산자 &를 사용하여야 한다.
포인터 배열
- 여러 개의 포인터를 하나의 배열로 구성한 배열의 특징과 포인터의 특징을 모두 활용할 수 있다.
- 포인터배열의 각 배열요소 : 각 문자열에 대한 시작주소를 가진 포인터
포인터의 포인터
'Class > 자료구조, 알고리즘' 카테고리의 다른 글
순차 자료구조와 선형 리스트 (0) | 2023.03.14 |
---|---|
자료구조 구현을 위한 C 프로그래밍 기법 - 구조체, 재귀호출 (0) | 2023.02.16 |
자료구조 구현을 위한 C 프로그래밍 기법 - 배열 (0) | 2023.02.14 |
알고리즘의 이해, 표현 방식, 성능 분석 (0) | 2023.02.12 |
자료의 표현(2), 자료의 추상화 (0) | 2023.02.09 |