#include <iostream>
using namespace std;
void func(){
cout << "Hello World!" << endl;
}
int main(){
{
int i;
int *p = &i;
cout << "변수 i의 주소: &i = " << &i << endl;
cout << "포인터 p의 값: p = " << p << endl;
cout << "포인터 p의 주소: &p = " << &p << endl;
}
cout << "====" << endl;
{
void (*ptr)() = func;
cout << "함수 func의 주소: &func = " << reinterpret_cast<const void *>(&func) << endl;
cout << "함수 func의 주소 (다른 방법): func = " << reinterpret_cast<const void *>(func) << endl;
cout << "포인터 ptr의 값: ptr = " << reinterpret_cast<const void *>(ptr) << endl;
cout << "포인터 ptr의 주소: &ptr = " << &ptr << endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdm9pZCBmdW5jKCl7Cgljb3V0IDw8ICJIZWxsbyBXb3JsZCEiIDw8IGVuZGw7Cn0KCmludCBtYWluKCl7Cgl7CgkJaW50IGk7CgkJaW50ICpwID0gJmk7CgkJCgkJY291dCA8PCAi67OA7IiYIGnsnZgg7KO87IaMOiAmaSA9ICIgPDwgJmkgPDwgZW5kbDsKCQljb3V0IDw8ICLtj6zsnbjthLAgcOydmCDqsJI6IHAgPSAiIDw8IHAgPDwgZW5kbDsKCQljb3V0IDw8ICLtj6zsnbjthLAgcOydmCDso7zshow6ICZwID0gIiA8PCAmcCA8PCBlbmRsOwoJfQoJCgljb3V0IDw8ICI9PT09IiA8PCBlbmRsOwoJCgl7CgkJdm9pZCAoKnB0cikoKSA9IGZ1bmM7CgkJY291dCA8PCAi7ZWo7IiYIGZ1bmPsnZgg7KO87IaMOiAmZnVuYyA9ICIgPDwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCB2b2lkICo+KCZmdW5jKSA8PCBlbmRsOwoJCWNvdXQgPDwgIu2VqOyImCBmdW5j7J2YIOyjvOyGjCAo64uk66W4IOuwqeuylSk6IGZ1bmMgPSAiIDw8IHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3Qgdm9pZCAqPihmdW5jKSA8PCBlbmRsOwoJCWNvdXQgPDwgIu2PrOyduO2EsCBwdHLsnZgg6rCSOiBwdHIgPSAiIDw8IHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3Qgdm9pZCAqPihwdHIpIDw8IGVuZGw7CgkJY291dCA8PCAi7Y+s7J247YSwIHB0cuydmCDso7zshow6ICZwdHIgPSAiIDw8ICZwdHIgPDwgZW5kbDsKCX0KCXJldHVybiAwOwp9