ํจ์์ C ์คํ์ผ์ ๋ฌธ์์ด
C ์คํ์ผ ๋ฌธ์์ด์ ๋งค๊ฐ๋ณ์๋ก ์ฌ์ฉํ๋ ํจ์
-๋ฌธ์์ด์ ๋ํ๋ด๋ ๋ฐฉ๋ฒ
1. charํ์ ๋ฐฐ์ด
2. ํฐ๋ฐ์ดํ๋ก ๋ฌถ์ ๋ฌธ์์ด ์์ (๋ฌธ์์ด ๋ฆฌํฐ๋ด)
3. ๋ฌธ์์ด์ ์ฃผ์๋ก ์ค์ ๋ char ํ์ ์ง์ํ๋ ํฌ์ธํฐ
์ธ ๊ฐ์ง ๋ชจ๋ charํ์ ์ง์ํ๋ ํฌ์ธํฐ ์ด๋ฏ๋ก ๋ชจ๋ ๋ฌธ์์ด ์ฒ๋ฆฌ ํจ์์ ๋งค๊ฐ๋ณ์๋ก ์ฌ์ฉ ๊ฐ๋ฅํจ
char ghost[15]="galloping"; cout<<ghost; //galloping ์ถ๋ ฅ
char * str = "galumphing"; cout<<str; //galumphing ์ถ๋ ฅ
int n1 = strlen(ghost);
int n2 = strlen(str);
int n3 = strlen("gamboling");
c์คํ์ผ ๋ฌธ์์ด์ ๋ฆฌํดํ๋ ํจ์ (์์)
char * buildstr(char c,int n)
{
char * pstr = new char[n+1];
pstr[n]='\0';
while(n-- >0)
pstr[n]=c;
return pstr;
}
ํจ์์ ๊ตฌ์กฐ์ฒด
๊ตฌ์กฐ์ฒด ๋ณ์๋ ๋ณดํต์ ๋ณ์์ฒ๋ผ ํจ์์ ์ ๋ฌํ ์ ์๋ค.
์ด๋ ํจ์๋ ๊ตฌ์กฐ์ฒด์ ์๋ณธ์ด ์๋ ๋ณต์ฌ๋ณธ์ ๋์์ผ๋ก ์์ ํ๋ค.
๋ํ ํจ์๋ ๊ตฌ์กฐ์ฒด ๋ฆฌํด ๊ฐ๋ฅ
๊ตฌ์กฐ์ฒด์ ์ ๋ฌ๊ณผ ๋ฆฌํด
๊ตฌ์กฐ์ฒด๋ฅผ ๊ฐ์ผ๋ก ์ ๋ฌํ๋ ๊ฒ์ ๊ตฌ์กฐ์ฒด์ ํฌ๊ธฐ๊ฐ ๋น๊ต์ ์์ ๊ฒฝ์ฐ์ ์๋ง์.
์ฌ์ฉ๋ฒ์ ์ผ๋ฐ ๋ณ์์ฒ๋ผ ์ฌ์ฉ.
๊ตฌ์กฐ์ฒด ์ฃผ์์ ์ ๋ฌ
ํจ์๋ฅผ ํธ์ถํ ๋ ๊ตฌ์กฐ์ฒด ๋์ ์ ๊ตฌ์กฐ์ฒด์ ์ฃผ์๋ฅผ ์ ๋ฌ
๊ตฌ์กฐ์ฒด๋ฅผ ์ง์ํ๋ ํฌ์ธํฐ, ํ์ ๋งค๊ฐ๋ณ์๋ก ์ ์ธ, ํจ์๊ฐ ๊ตฌ์กฐ์ฒด๋ฅผ ๋ณ๊ฒฝํ๋ฉด ์ ๋๊ธฐ ๋๋ฌธ์ const ํค์๋ ์ฌ์ฉ
ํ์ ๋งค๊ฐ๋ณ์๊ฐ ๊ตฌ์กฐ์ฒด๊ฐ ์๋๋ผ ํฌ์ธํฐ์ด๋ฏ๋ก, ๋ฉค๋ฒ ์ฐ์ฐ์ฌ(.) ๋์ ์ ๊ฐ์ ๋ฉค๋ฒ ์ฐ์ฐ์(->) ์ฌ์ฉ
ํจ์์ string ํด๋์ค ๊ฐ์ฒด
string์ ๋ฐฐ์ด ์ ์ธ ํ์ // ๋ณดํต์ ๋ฐฐ์ด ์ ์ธ ํ์ ๊ทธ๋๋ก ์ฌ์ฉ
string list[5];
ํจ์์ array ๊ฐ์ฒด
C++์์์ ํด๋์ค ๊ฐ์ฒด๋ ๊ตฌ์กฐ์ฒด์ ๊ธฐ๋ฐ์ ๋๊ณ ์๋ค.
๋ฐ๋ผ์ ๊ตฌ์กฐ์ฒด์ ์ ์ฉ๋๋ ๋์ผํ ํ๋ก๊ทธ๋๋ฐ ๊ณ ๋ ค ์ฌํญ๋ค ์ค ์ผ๋ถ๊ฐ ํด๋์ค์๋ ์ ์ฉ๋จ
์ฌ๊ท ํธ์ถ
C++ ํจ์๋ ์๊ธฐ ์์ ์ ํธ์ถ ๊ฐ๋ฅ (main() ํจ์ ์ ์ธ)
๋จ์ผ ์ฌ๊ท ํธ์ถ
void recurs(argumentlist)
{
stataements1
if(test)
recurs(arguments)
statements2
}
- if ๊ตฌ๋ฌธ์ด ์ฐธ์ผ๋ก ์ ์ง๋๋ ๋์, ๊ฐ๊ฐ์ recurs() ํจ์ ํธ์ถ์ statements1 ๋ถ๋ถ๋ง ์ํํ๊ณ statements2 ๋ถ๋ถ์ ๋ค๋ก ๋ฏธ๋ค๋ ์ฑ ์๋ก์ด recurs() ํจ์ ํธ์ถ์ ์คํ
- if ๊ตฌ๋ฌธ์ด ๊ฑฐ์ง์ด ๋ ํจ์ ๋ถ๋ถ์์ statements2 ๋ถ๋ถ์ด ์ํ๋๋ค.
- ์ด์ ์ recurs() ํธ์ถ๋ก ๋์ด๊ฐ statements2 ์คํ ๋ฐ๋ฆฐ statements2๊ฐ ๋์ฌ ๋๊น์ง ์ด์ ์ recurs() ํธ์ถ๋ก ๋์ด๊ฐ
๋ค์ค ์ฌ๊ท ํธ์ถ
๋ค์ค ์ฌ๊ท ํธ์ถ์ ํ๋์ ์ง์ ์ ์๋ก ๋น์ทํ ๋ ๊ฐ์ ์์ ์์ ์ผ๋ก ๋ฐ๋ณต์ ์ผ๋ก ๋ถํ ํด ๊ฐ๋ฉด์ ์ฒ๋ฆฌํด์ผ ํ๋ ์ํฉ์์ ํน๋ณํ ์ ์ฉ
EX) ๋๊ธ์๋ฅผ ๊ทธ๋ฆด ๋, ๋ ๊ฐ์ ๋์ ๋จผ์ ํ์ํ ํ ์ค๊ฐ ์ง์ ์ ๋๊ธ์ ํ์ํ๋ค. ๋์ผํ ์ ์ฐจ๋ฅผ ๋๊ธ์์ ์ผ์ชฝ ์ ๋ฐ์ ์ํ ํ ์ค๋ฅธ์ชฝ ์ ๋ฐ์๋ ์ํ -> ๋ฐ๋ณต, ์ด๋ฌํ ์ฌ๊ท์ ์ธ ์ ๊ทผ์ ๋ถํ ์ ๋ณต ( divide-and-conquer) ์ ๋ต์ด๋ผ ํจ.