int age = 0;
cout << age; // 0
cout << &age; // 0013FF7C
#include<iostream>
#include<iomanip>
using namespace std;
int main() {
char a, b, c;
char str1[4];
char str2[5];
short s1, s2;
double d;
int i, j, k;
cout << "a, b, c의 주소 = " << hex << (int)&a << ", " << (int)&b << ", "
<< (int)&c << endl;
cout << endl;
cout << "str1의 주소 = " << hex << (int)str1 << endl;
for (i = 0; i < 4; i++) {
cout << "str1[" << i << "]의 주소 = " << hex << (int)&str1[i] << endl;
}
cout << endl;
cout << "str2의 주소 = " << hex << (int)str2 << endl;
for (i = 0; i < 4; i++) {
cout << "str2[" << i << "]의 주소 = " << hex << (int)&str2[i] << endl;
}
cout << endl;
cout << "s1의 주소 = " << &s1 << endl;
cout << "s2의 주소 = " << &s2 << endl;
cout << "d의 주소 = " << &d << endl;
cout << "i의 주소 = " << &i << endl;
cout << "j의 주소 = " << &j << endl;
cout << "k의 주소 = " << &k << endl;
return 0;
}
포인터 = 주소 값을 저장 + 자료형을 포함
int *ptr; // int형 변수의 주소 값을 가리킬 수 있는 int형 포인터
char *ptr; // char형 변수의 주소 값을 가리킬 수 있는 char형 포인터
double *ptr; // double형 변수의 주소 값을 가리킬 수 있는 double형 포인터
int* ptr1, ptr2, ptr3;
// X -> prt1은 int 형 포인터를 의미하나 ptr2와 ptr3는 단순히 int형 데이터를 표현
int *ptr1, *ptr2, *ptr3;
// O