본문 바로가기
배워보자!!/c언어

[c언어] c언어 포인터에 대해 알아보자!

by norinda 2015. 4. 15.
728x90

포인터란??

- 간단히 말해 변수가 선언이 되면 메모리상에 저장된 그 변수의 주소값을 담아두는 변수이다. 

- 포인터의 크기는 타입에 상관없이 4바이트입니다.

- 포인터에 타입은 변수를 참조할 때 몇 바이트를 읽을지 가르쳐 주기위해 존재한다고 합니다.



#include <stdio.h>

int main()

{

char a = 'c';

int b = 3;

double d = 3.14;

}

0x1000

 

 a = 'c'

 = char (1바이트)

0x1001

 

 b = 3

 = int (4바이트)

0x1002

 

0x1003

 

0x1004

 

0x1005

 

  d = 3.14

 = double (8바이트)

0x1006

 

0x1007

 

0x1008

 

0x1009

 

0x100a

 

0x100b

 

0x100c

 


포인터 선언하는 방법

- 포인터를 선언할 때는 "*" 연산자를 사용합니다. 

- 아래처럼 위치는 상관없습니다.

#include <stdio.h>

int main()

{

int *a;

char* b;

double * c;

}




포인터 주소 값구하기

- 변수의 이름 앞에 "&" 연산자를 붙이면 해당 변수의 주소 값을 구할 수 있습니다.


#include <stdio.h>

int main()

{

int a = 82;

int* pointerVar = &a;

}




- pVar 은 a 값이 저장된 메모리주소 (=&a)

- &pVar 은 pVar이 저장된 메모리주소



반응형

댓글