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이 저장된 메모리주소
반응형
'배워보자!! > c언어' 카테고리의 다른 글
[c언어] c언어로 삼각형 만드는 방법! (0) | 2015.04.16 |
---|---|
[c언어] for문 하나로 구구단만들기! (0) | 2015.04.15 |
[c언어] c언어 문자길이 뽑아내기! (0) | 2015.04.15 |
[c언어] gets() 함수 , puts() 함수 쓰는 법! (0) | 2015.04.15 |
[c언어] 배열 활용법 1 (0) | 2015.04.14 |
댓글