포인터 : 변수의 주소
포인터 변수는 간접연산자(*)를 사용하여 선언
포인터 변수의 값을 불러올 때는 간접연산자(*)를 사용
일반 변수의 포인터를 알고싶을 때는 주소연산자(&)를 사용
#include <stdio.h>
int main()
{
int a; // int 변수 a 선언
int *b; // 포인터변수 b 선언
a = 50; // a에 값 할당
b = &a; // b에 a의 포인터 할당
int c = *b; // c에 포인터 변수 b의 값 할당
printf("%d\n", a); // 50
printf("%p\n", b); // 0x100
printf("%d\n", *b); // 50
}
● 포인터와 배열
배열명은 배열[0]의 주소를 갖는 포인트변수 (값을 갖는 변수가 아님)
#include <stdio.h>
main()
{
int a[5]; // int변수배열 선언
int *b; // 포인터변수 선언
b=a; // 포인트 변수 b에 배열 a 주소 할당
// b=&a // 불가능
}