๐ฏ ์ค๋ ๋ชฉํ
์ฝ๋:
int a = 10;
์ปดํจํฐ ์
์ฅ:
๋ฉ๋ชจ๋ฆฌ ์ด๋๊ฐ์
[์ฃผ์: 0x10000] ๊ฐ: 10
int a = 10
int* p = &a;
๋ฉ๋ชจ๋ฆฌ ๊ทธ๋ฆผ
a : [0x1000] = 10
p : [0x2000] = 0x1000
=> p๋ a๋ฅผ ๊ฐ๋ฆฌํด
ex)
int a =10;
int* p = &a;
*p = 20;
std::cout<< a << std::endl;
=> 20
void swap(int* x, int* y)
{
int temp = *x;
*x = *y;
*y = temp;
}
int main()
{
int a =10;, b=20;
swap(&a, &b);
std::cout << a << " " << b;
=> 20 " " 10
------------------------ํฌ์ธํฐ----------------------์ฐธ์กฐ----
null๊ฐ๋ฅ ------------------O--------------------------X------
๋ณ๊ฒฝ๊ฐ๋ฅ -----------------O--------------------------X------
๋ฌธ๋ฒ๋์ด๋------------์ด๋ ค์----------------------์ฌ์-----
๋ด๋ถ๊ตฌํ-------------์ฃผ์์ง์ ----------------ํฌ์ธํฐ๊ฐ์ผ๊ฒ---
์ฌ์ฉ๋ชฉ์ -----------์์คํ
/์ ์์ค---------------๋ก์ง/์์ ----
int arr[3] = {1,2,3};
์ฌ์ค์
arr == &arr[0]
int *p = arr;
std::cout<< p[0] << std::endl;
std::cout<<*(p+1)<< std::endl;
-> p[i] == *(p+i)
int* p=nullptr;
-> ์๋ฌด ๊ฒ๋ ๊ฐ๋ฆฌํค์ง ์๋๋ค.
์์ ๊ท์น
1. ํฌ์ธํฐ๋ ์ด๊ธฐํ
int* p = nullptr;
2. ์ฌ์ฉ ์ ์ฒดํฌ
if(p != nullptr)
3. ๋๊ฐ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์ธ์ธ์ง ๋ช
ํํ