SyntaxHighlighter.all();

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

+ Recent posts