본문 바로가기

Language/C언어

C언어[3]-포인터

 

 

 

 

★ 메모리 데이터 저장방식 - 1) 값(value) : 실제 내용물

                                        - 2) 참조(reference) : 내용물의 위치

 

 

★ 포인터

int n=10;
int* p; // int*가 형식이다.
= &n; // &n은 n의 주소를 의미한다.
// 2,3번째 줄을 합쳐서 int* p = &n;으로 바꿀 수 있다.

 

>> n의 값은 10, p의 값은 0x100

 

★ *p : p가 가지고 있는 주소의 메모리 이름을 나타낸다.

    &n : n의 메모리의 시작주소를 나타낸다.

 

 

★ 포인터 ++

 

int n=10;
int* p=&n; // p는 n의주소를 담고 있다.
int* *pp=&p; // pp는 p의 주소를 담고 있다.

 

 

>> p = *pp  : pp가 가지고 있는 시작주소 메모리의 이름(*pp)이 p이다.

    n = *p = *pp : p가 가지고 있는 시작주소의 메모리 이름(*p)이 n이다.

 

'Language > C언어' 카테고리의 다른 글

C언어 - 함수  (0) 2015.12.28
C언어-문자열  (0) 2015.12.28
C언어[4] - 배열  (0) 2015.12.26
C언어[2]- 연산자  (0) 2015.12.22
C언어[1]-데이터, 메모리, 변수, 상수  (0) 2015.12.21