What is Array?
์ง์ ์ ์ผ๋ก ๊ฐ์ ์์ฐจ์ ์ผ๋ก ๋งคํํ๋ค. C์ธ์ด์์ ์ค๋๋ ๊ธฐ์ ์ด๊ณ , ๊ฐ์ฒด๊ฐ ์๋๋ค.
์ฒ์์ ๋ฐฐ์ด์ ํฌ๊ธฐ๋ฅผ ์ง์ ํ๊ณ ์ ์ธํ๋ ์ ์ ๋ฐฐ์ด(static Array)์ด ์๊ณ , ๋ฐฐ์ด์ ํฌ๊ธฐ๋ฅผ ์ ๋์ ์ผ๋ก ์กฐ์ ํ ์ ์๋ ๋์ ๋ฐฐ์ด(Dynamic Array)์ด ์๋ค.
๋ฐฐ์ด๋ ํจ์ ํฌ์ธํฐ์ ๋ง์ฐฌ๊ฐ์ง๋ก, ํน์ ๋ฐฐ์ด์ ๋ด๊ฐ ์ ์ธํ๊ฒ ๋๋ฉด ๋ฐฐ์ด์ ์ด๋ฆ์ผ๋ก ์ ์ธํด์ค ๋ณ์๋ย ํฌ์ธํฐย ์ด๋ค.
์ ์ ๋ฐฐ์ด (Static Array)
๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์์ ๋ฐฐ์ด ์์์ ๋ฐฐ์น
0x7ffeefbff4fc
1
0x7ffeefbff4fc
1
2
0x7ffeefbff500
2
3
0x7ffeefbff504
3
Program ended with exit code: 0
๊ฐ๊ฐ์ ์ฃผ์๋ฅผ ๊ฐ๋จํ๊ฒ ๋ํ๋ด๊ณ , ์ด๊ฒ์ ํ๋ก ๋ํ๋ด๋ณด๋ฉด,
Array element ์ ๊ทผ, ์ถ๋ ฅ ๋ฐฉ๋ฒ
์ด๋ฒ์๋ ์ด ๋ฐฐ์ด์ ํจ์์ ์ธ์๋ก ๋ฐ์ ์ถ๋ ฅํด์ฃผ๋ย print
ย ํจ์๋ฅผ ๋ง๋ค์ด๋ณด์.
์ด๋ฒ์๋ ์ด ๋ฐฐ์ด์ ํจ์์ ์ธ์๋ก ๋ฐ์ ๋ชจ๋ ์์์ ํฉ์ ๊ตฌํด์ฃผ๋ย sum
ย ํจ์๋ฅผ ๋ง๋ค์ด๋ณด์.
while ๋ฌธ๋ ํ๋ฒ ์ฌ์ฉํด๋ณด์.
์ง๊ธ๊น์ง ์งํํ ์์ ์์ย ary[]
ย ๋ฅผ ์ ์ธํ ๋, ํฌ๊ธฐ๊ฐ ์ ํด์ง ๋
์์ ๋ฃ์ด์ฃผ์๋ค.
์ด๋ฐ ๊ฒ์ ์ ์ ๋ฐฐ์ด์ด๋ผํ๊ณ , ๋ฐฐ์ด์ ํฌ๊ธฐ๋ฅผ ์กฐ์ ํ ์ ์๋ค.
์ ์ ๋ฐฐ์ด์ ์ด๋ ๊ฒ ๋ฐฐ์ด์ ํฌ๊ธฐ๋ฅผ ์ ์ธํ๋ ๋ณ์ length๋ฅผ ๋ง๋ค๋, ์ด ๊ฐ์ constant๋ก ๋ง๋ค์ด ์ฃผ์ด์ผ ํ๋ค.
๋ง์ฝย int length = 5
ย ์ ๊ฐ์ด ์ ์ธํด์ค๋ค๋ฉด, ๊ฐ์ด ๋ฐ๋ ์ ์์ผ๋ฏ๋ก ์ค๋ฅ๋ฅผ ๋ฑ๋๋ค.
๋์ ๋ฐฐ์ด (Dynamic Array)
Output
Size : 3
1
2
3
1 2 3
Program ended with exit code: 0
Matrix ๋ง๋ค๊ธฐ
2์ฐจ์ ๋ฐฐ์ด์์ ํฌ์ธํฐ์ ๊ด๊ณ
๊ฒฐ๊ตญ 1์ฐจ์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ๋์ด๋์ด ์๋ ์์๋ค์ ์ฃผ์๊ฐ๋ค์ ๊ด๊ณ๋ฅผ ์ ์ํด ๋์ ๊ฒ์ด๋ค.
๋ฌธ์์ด์์ ๋ฌธ์ ์ฐพ๊ธฐ
- main ์์ย
"phrase"
ย ๋ผ๋ ๋ฌธ์์ด์ ์ฒซ๋ฒ์งธ ์ฃผ์๋ฅผ char ํ ํฌ์ธํฐ ๋ณ์ ch์ ๋ด๋๋ค.
- ๋ฐ๋ณต๋ฌธ ์์์ ์ ์ธ๋ย
char c
ย ๋ a~z ์ ๋ฌธ์๊ฐ์ ๊ฐ์ง๋๋ฐ,
- ๋ง์ฝ ์ด ๋ฌธ์์ด์ดย
"phrase"
ย ์์ ์๋ค๋ฉด ๊ณต๋ฐฑ์, ์๋ค๋ฉดย Not
ย ์ ์ถ๋ ฅํ๋๋ก ๋ง๋ค์.
- ๊ทธ๋ผ ํด๋น ๋ฌธ์์ด์ด ์๋์ง ์๋์ง๋ฅผ ํ๋จํด์ค ํจ์๋ฅผ ๋ฐ์ ๋ง๋ค๊ฑด๋ฐ,
- ์ด๋ ์
๋ ฅ ํ๋ผ๋ฏธํฐ๋ฅผ ๋ฌธ์์ด์ ์์ ์ฃผ์๋ฅผ ๊ฐ์ง๊ณ ์๋ย
ch
ย ์ ๊ฒ์ฌํ ๋ฌธ์ย c
ย ๋ฅผ ๋๊ฒจ์ฃผ์.
ch
ย ๋ ๋ฌธ์์ด ํฌ์ธํฐ ๋ณ์์ด๋ฏ๋กย char*
ย ๋ก ์ ์ธํด์ ๋ฐ์์ฃผ๊ณ ,
c
ย ๋ ๋ณต์ฌํด์ ๋ฐ์์ค์.
- ๋ฐ์์จ ์ฃผ์ย
s
ย ์ ๊ฐ์ผ๋ก ์ ํํย *s
ย ๋ ๋ฌธ์์ด์ ์ ์ผ ์ฒซ๋ฒ์งธ ๊ฐ์ธย p
ย ๋ฅผ ๋ํ๋ด๊ณ ์์ ๊ฒ์ด๋ค.
- ์ด์ ์ฐ๋ฆฌ๋ ์ด ๊ฐ์ด NULL(
'\0'
) ์ด ์๋๋ฉด ๋์๊ฐ๋๋ฐ,
- ๋ง์ฝ์ ์ถ๊ฐ๋ก ์
๋ ฅ๋ฐ์ย
c
ย ์ ๊ฐ๊ณผ ๊ฐ๋ค๋ฉด TRUE๋ฅผ, ์๋๋ฉด FALSE๋ฅผ ๋ฐํํ๋ค.
- ์ด์ ์ถ๋ ฅ๊ฐ์ ๋ฐ๋ผ ์ ์ดํ๋ฉด ๋๋ค.
์ถ๊ฐ๋ก ๋ฌธ์์ด์ด ๊ตฌ์ฑ๋ ๋ ์ปดํจํฐ๋ ๋ง์ง๋งย '\0'
ย NULL ์ ๊ธฐ์ค์ผ๋ก ๊ตฌ๋ถํ๋ค.
What is Vector Container?
- ๋ฉ๋ชจ๋ฆฌ์ ๋ธ๋ฝ์ ๊ด๋ฆฌํด์ฃผ๋ ๊ฐ์ฒด
- ์๋์ผ๋ก ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋นํด์ฃผ๋ ๋ฐฐ์ด
- ๋ฒกํฐ์ ๋ค์ด๊ฐ๋ ์๋ฃํ์ ๋ชจ๋ ๋์ผํด์ผ ํ๋ค.
Vector ์ ์ธ ๋ฐฉ๋ฒ
- ํค๋ํ์ผ ์ถ๊ฐ
- namespace ์ถ๊ฐ // std:: ์ฌ์ฉ
- ๋ฒกํฐ ์ ์ธ
๋ฒกํฐ ์ธ๋ฑ์ฑ
๋ฐฐ์ด๊ณผ ๋์ผํ๊ฒย 0~size -1
ย ์ ๋ฒ์๋ฅผ ๊ฐ์ง๋ค.
Vector primary Method
Vector Example
Output
๊ฐ ๋ฐ๊พธ๊ธฐ
10, 20
1000, 20
push_back
1000 20 30 2000
pop_back
1000 20 30
Program ended with exit code: 0
๊ฐ ๋ฃ๊ธฐ/ ์ถ๋ ฅํ๊ธฐ ๋ค๋ฅธ ๋ฐฉ๋ฒ
๋ฒกํฐ๋ฅผ ์ฌ์ฉํ ์์ ์ฐพ๊ธฐ
Output
11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
Program ended with exit code: 0
๋ฒกํฐ๋ฅผ ์ฌ์ฉํด ๋งคํธ๋ฆญ์ค ๋ง๋ค๊ธฐ