1. 포인터의 개념
- 포인터 변수 : 다른 변수의 주소를 가지고 있는 변수
- 포인터의 연산자
포인터의 연산자에는 번지연산자 ( & ), 간접연산자 ( * )가 있다.
( 번지연산자와 간접연산자는 단항 연산자이기 때문에 연산우선순위도 단항 연산자와 같다. )
ex ) &충북대 = 123 (번지)
*123 = 충북대
- 포인터 변수를 사용하는 이유
컴퓨터는 모든 값을 번지로 변환하여 처리한다.
예를 들어 a = 3 + b ; 를 처리할때
컴퓨터는 *100 = 3 + *104 ; 이렇게 변환하여 처리하기 때문에
명칭이 아닌 번지를 직접 사용하면 효율적인 프로그램을 만들 수 있다.
- 포인터 사용
다음은 간단하게 포인터 변수를 사용하여 출력하는 소스이다.
1
2
3
4
5
6
7
8 |
#include<stdio.h>
int main(){
int a = 100, b = 200;
int *p;
p = &a;
printf("*p = %d \n", *p);
} |
cs |
2. 배열과 포인터
배열의 이름이 배열의 시작 부분을 가리키는 포인터이다.
3. 구조와 포인터
구조체의 멤버에 접근하는 표기법은 "->"이다.
4. 포인터의 포인터
포인터도 변수이기 때문에 포인터의 포인터 선언도 가능하다.
1
2
3
4
5
6
7
8
9 |
#include<stdio.h>
int main(){
int a;
int *p;
int *pp;
p = &a;
pp = &p;
} |
cs |
'컴퓨터 과학 > 자료구조' 카테고리의 다른 글
[컴퓨터 과학 총론] 컴퓨터 과학 총론 (0) | 2021.03.12 |
---|---|
[자료구조] 6. 동적 메모리 할당 (3) | 2018.12.12 |
[자료구조] 4.구조체 (0) | 2018.12.11 |
[자료구조] 3.배열 (0) | 2018.12.11 |
[자료구조] 2. 순환 (1) | 2018.11.29 |