- ํฌ์ธํฐ๋ ์ฃผ์๋ฅผ ๊ฐ์ง๊ณ ์๋ ๋ณ์
- *ํฌ์ธํฐ๋ ์ฌ์ฉ ์ ์ ๋ฐ๋์ ์ด๊ธฐํ๋ฅผ ํด์ผํ๋ค*
ใ ก ์ฃผ์ ์ฐ์ฐ์ &
- ๋ณ์์ ์ฃผ์๋ฅผ ๊ณ์ฐํ๋ ์ฐ์ฐ์
- ๋ณ์ i์ ์ฃผ์ = &i
ใ ก ๊ฐ์ ์ฐธ์กฐ ์ฐ์ฐ์ *
- ํฌ์ธํฐ๊ฐ ๊ฐ๋ฆฌํค๋ ๊ฐ์ ๊ฐ์ ธ์ค๋ ์ฐ์ฐ์
- ์ฐ์ ์์๊ฐ ๋งค์ฐ ๋๋ค (๊ดํธ ๋ค์์ผ๋ก)
ใ ก #1 ๋ณ์์ ์ฃผ์ ์ถ๋ ฅ
- &๋ณ์์ด๋ฆ
ใ ก #2 a ์ b ๋ฐ๊พธ๋ ํจ์
- swap(& a, &b);
ใ ก ํฌ์ธํฐ ์ฐ์ฐ
- ์ฆ๊ฐ(++), ๊ฐ์(--), ๋ง์ (+), ๋บ์ (-) ๋ง ๊ฐ๋ฅ
ํฌ์ธํฐ ํ์ | ++ ์ฐ์ฐ ํ ์ฆ๊ฐ ๊ฐ |
char | 1 |
short | 2 |
int | 4 |
float | 4 |
double | 8 |
- ์ฆ๊ฐ ์ฐ์ฐ ์์
- ๊ฐ์ ์ฐธ์กฐ ์ฐ์ฐ์์ ์ฆ๊ฐ ์ฐ์ฐ์
์์ | ์๋ฏธ |
v = *p++ | p ใ ก> v ๋์ ํ p ์ฆ๊ฐ |
v = (*p)++ | p ใ ก> v ๋์ ํ ๊ฐ๋ฆฌํค๋ ๊ฐ์ ์ฆ๊ฐ |
v = *++p | p ์ฆ๊ฐ ํ p ใ ก> v ๋์ = *(++p) |
v = ++*p | p ๊ฐ๋ฆฌํค๋ ๊ฐ ๊ฐ์ ธ์จ ํ ์ฆ๊ฐ ใ ก> v ๋์ = ++(*p) |
- ๊ฐ์ ์ฐธ์กฐ ์ฐ์ฐ์์ ์ฆ๊ฐ ์ฐ์ฐ์ ์์
ใ ก ํจ์์ ํฌ์ธํฐ
· ๊ฐ์ ์ํ ํธ์ถ (call-by-value)
- C์ ๊ธฐ๋ณธ์ ์ธ ๋ฐฉ๋ฒ
- ์ธ์์ ๊ฐ์ด ๋งค๊ฐ ๋ณ์๋ก ๋ณต์ฌ๋๋ค.
· ์ฐธ์กฐ์ ์ํ ํธ์ถ (call-by-reference)
- C์์๋ ํฌ์ธํฐ๋ฅผ ์ด์ฉํ์ฌ ํ๋ด๋ผ ์ ์๋ค.
- ์ธ์์ ์ฃผ์๊ฐ ๋งค๊ฐ ๋ณ์๋ก ๋ณต์ฌ๋๋ค.
· ๋ณดํต์ ๊ฐ์ ์ํ ํธ์ถ ์ฌ์ฉ
· ํจ์ ์ธ๋ถ์์ ์ ์ธ๋ ๋ณ์์ ๊ฐ์ ๋ณ๊ฒฝํ ๋ ์ฐธ์กฐ์ ์ํ ํธ์ถ ์ฌ์ฉ
*์ด๊ธฐํ๊ฐ ์๋ ํฌ์ธํฐ ์ฌ์ฉ X*
*ํฌ์ธํฐ๊ฐ ์๋ฌด๊ฒ๋ ๊ฐ๋ฆฌํค์ง ์์ผ๋ฉด NULL๋ก ์ด๊ธฐํ ใ ก> ํ๋์จ์ด๋ก ๊ฐ์ง ๊ฐ๋ฅ, ์ ํจ์ฑ ์ฌ๋ถ ํ๋จ ์ฝ๋ค*
*ํฌ์ธํฐ ํ์ = ๋ณ์์ ํ์ *
doubleํ ํฌ์ธํฐ์ intํ ๋ณ์์ ์ฃผ์๋ฅผ ๋์ ใ ก> ์ค๋ฅ
· ๋ ๊ฐ ์ด์์ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ๋ ํจ์
ใ ก ํฌ์ธํฐ์ ๋ฐฐ์ด
· ๋ฐฐ์ด ์ด๋ฆ์ด ๋ฐ๋ก ํฌ์ธํฐ์ด๋ค.
· ํฌ์ธํฐ๋ ๋ฐฐ์ด์ฒ๋ผ ์ฌ์ฉ ๊ฐ๋ฅ
· ๋ฐฐ์ด ์ด๋ฆ์ ์ฒซ๋ฒ์งธ ๋ฐฐ์ด ์์์ ์ฃผ์
a[0] = *a
a[1] = *(a+1)
a[2] = *(a+2)
a[n] = *(a+n)
ใ ก #3 ๋ฐฐ์ด ์ฒ๋ฆฌ ํจ์
- ํ๊ท ์ ๊ณ์ฐํ๊ณ ๋ฐฐ์ด์ ์ถ๋ ฅํ๋ ๋๊ฐ์ง ํจ์
- double get_array_avg(int values[], int n) ๋ฐฐ์ด ์์์ ํ๊ท ๊ฐ ๊ณ์ฐ
- void print_array(int values[], int n) ๋ฐฐ์ด ์์๋ค ์ถ๋ ฅ
ใ ก #4 ๋ฐฐ์ด์ ๊ฐ ์ญ์ ์ถ๋ ฅ
- ํฌ์ธํฐ๋ฅผ ์ด์ฉ
- &array[i]
- *(p + i)
'C' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Cํ๋ก๊ทธ๋๋ฐ] 13์ฃผ์ฐจ. ํ์ผ (0) | 2024.06.05 |
---|---|
[Cํ๋ก๊ทธ๋๋ฐ] 12์ฃผ์ฐจ. ๊ตฌ์กฐ์ฒด (0) | 2024.05.29 |
[Cํ๋ก๊ทธ๋๋ฐ] 11์ฃผ์ฐจ. ๋ฌธ์์ด (0) | 2024.05.22 |
[Cํ๋ก๊ทธ๋๋ฐ] 9์ฃผ์ฐจ. ํจ์ (0) | 2024.05.02 |