c++์์์ auto ์ ์ธ - ์๋์ผ๋ก ๋ฐ์ดํฐ ์ถ๋ก
auto n = 100; //n์ int
auto x = 1.5; //x๋ double
auto y = 1.3e12L //y๋ long double
์ฃผ์์ฌํญ
x, y, z๊ฐ ๋ชจ๋ doubleํ์ธ ์ฝ๋๋ฅผ ์์ฑํ ๋
auto x = 0.0; //0.0์ด double์ด๋ฏ๋ก ๋ฌธ์ ์์
double y = 0; //0์ด ์๋์ผ๋ก double์ผ๋ก ๋ณํ๋จ
auto z = 0; // 0์ด int์ด๊ธฐ ๋๋ฌธ์ doubleํ์ผ๋ก ์ฝ๋ ์์ฑ ๋ถ๊ฐ
๋ฐฐ์ด(Array)
๋ฐ์ดํฐํ์ด ๊ฐ์ ์ฌ๋ฌ ๊ฐ์ ๊ฐ์ ์ฐ์์ ์ผ๋ก ์ ์ฅํ ์ ์๋ ๋ฐ์ดํฐ ๊ตฌ์กฐ
๋ฐฐ์ด ์ ์ธ ๊ตฌ๋ฌธ
1. ๊ฐ ์์์ ์ ์ฅ๋ ๊ฐ์ ๋ฐ์ดํฐํ
2. ๋ฐฐ์ด์ ์ด๋ฆ
3. ๋ฐฐ์ด ์์์ ๊ฐ์
๋ฐฐ์ด์ ์ ์ธํ๋ ์ผ๋ฐ์ ํ์
typeName arrayName[arraySize];
//arraySize๋ 1. ๊ฐ์ด 10 ๋๋ const ๊ธฐํธ ์์์ ๊ฐ์ ์ ์ ์์
2. ์ปดํ์ผํ ๋ ๊ฐ์ด ๊ฒฐ์ ๋๋ 8*sizeof(int)์ ๊ฐ์ ์์ ์์
๋ฐฐ์ด์ ๊ฐ๋ณ์ ์ธ ์ ๊ทผ์ ํ์ฉํ๊ธฐ ์ํด ์ธ๋ฑ์ค(subscript) ๋๋ ์ธ๋ฑ์ค(index)๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐฐ์ด ์์์ ์ฐจ๋ก๋ก ๋ฒํธ๊ฐ ๋งค๊ฒจ์ง๋ค. c++์ ๋๊ดํธ ์์ ์ธ๋ฑ์ค๋ฅผ ๋ฃ์ด ๋ฐฐ์ด ์์๋ฅผ ์ง์ ํ๋ค.
ex) months[0]์ months ๋ฐฐ์ด์ ์ฒซ ๋ฒ์งธ ์์๋ฅผ ๋ํ๋ด๊ณ months[11]์ ๋ฐฐ์ด์ 12๋ฒ์งธ ์์๋ฅผ ๋ํ๋
int ragnar[7];
0 1 2 3 4 5 6
(์ฒซ๋ฒ์งธ ์์) | (๋ ๋ฒ์งธ ์์) |
๋ฐฐ์ด ์ด๊ธฐํ ๊ท์น
์ด๊ธฐํ ํ์์ ๋ฐฐ์ด์ ์ ์ํ๋ ๊ณณ์์๋ง ์ฌ์ฉ ๊ฐ๋ฅ
์ด๊ธฐํ๋ฅผ ๋์ค์ ํ๋ ๊ฒ์ ๋ถ๊ฐ๋ฅํ๋ค. ๋ฐฐ์ด์ ๋ค๋ฅธ ๋ฐฐ์ด์ ํต์งธ๋ก ๋์ ๋ถ๊ฐ.
์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐฐ์ด ์์์ ๊ฐ๋ณ์ ์ผ๋ก ๊ฐ์ ๋์ ํ๋ ๊ฒ์ ์ธ์ ๋ ์ง ๊ฐ๋ฅํจ.
int cards[4] = {3,6,8,10}; //๋ง๋ค
int hand[4]; // ๋ง๋ค
hand[4] = {5,6,7,9}; //ํ๋ฆฌ๋ค
hand = cards; //ํ๋ฆฌ๋ค
์ด๊ธฐํ ๊ฐ์ ๊ฐ์๋ฅผ ๋ฐฐ์ด ์์์ ๊ฐ์๋ณด๋ค ๋ชจ์๋ผ๊ฒ ์ ๊ณต ๊ฐ๋ฅ
ex) float hotelTips[5] = {5.0,2.5};
๋ฐฐ์ด์ ๋ถ๋ถ์ ์ผ๋ก ์ด๊ธฐํํ๋ฉด, ์ปดํ์ผ๋ฌ๊ฐ ๋๋จธ์ง ์์๋ค์ ๋ชจ๋ 0์ผ๋ก ์ค์ ํจ.
long totals[500] = {0}; //์ ๋ถ 0์ผ๋ก ์ด๊ธฐํ
๋ฐฐ์ด์ ์ด๊ธฐํํ ๋ ๋๊ดํธ ์์ ๋น์๋๋ฉด, ์ปดํ์ผ๋ฌ๊ฐ ์ด๊ธฐํ ๊ฐ์ ๊ฐ์๋ฅผ ํค์๋ ค ๋ฐฐ์ด ์์์ ๊ฐ์๋ฅผ ์ค์
short things[] = {1,5,3,8}
๋ฐฐ์ด ์์์ ๊ฐ์๊ฐ 4๊ฐ์ธ shortํ์ ๋ฐฐ์ด things ์์ฑ
c++11 ๋ฐฐ์ด ์ด๊ธฐํ
1. ๋ฐฐ์ด์ ์ด๊ธฐํํ ๋ = ๋ถํธ๋ฅผ ์ฌ์ฉํ์ง ์์๋ ๋จ
ex) double earnings[4] {1.2e4, 1.6e4, 1.1e4, 1.7e4};
2. ์ค๊ดํธ๋ฅผ ๊ณต๋ฐฑ ํ์ฌ ๋ชจ๋ ๋ฐฐ์ด์ 0์ผ๋ก ์ด๊ธฐํ ๊ฐ๋ฅ
ex) float balances[100] {};
3. ๋ฆฌ์คํธ ์ด๊ธฐํ ์์ narrowing ๋ฐฉ์ง ๊ฐ๋ฅ
ex) long plifs[] = {25,92,3.0}; // ์ ์ํ long์ ๋ถ๋์์์ ํ 3.0์ ๋์ ํ๋ ค ํจ
char slifs[4] {'j','a',123011,'\0'}; //123011์ด char ๋ณ์๊ฐ ๊ฐ์ง๋ ํฌ๊ธฐ๋ฅผ ๋์ด์ฌ
๋ฌธ์์ด : ๋ฉ๋ชจ๋ฆฌ์ ๋ฐ์ดํธ ๋จ์๋ก ์ฐ์์ ์ผ๋ก ์ ์ฅ๋์ด์๋ ๋ฌธ์๋ค
c++์ด ๋ฌธ์์ด์ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ
1. C๋ก๋ถํฐ ์ ๋ํ C์คํ์ผ์ ๋ฌธ์์ด ์ฒ๋ฆฌ ๋ฐฉ๋ฒ
2. string ํด๋์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๊ธฐ๋ฐ์ ๋ ๋ฌธ์์ด ์ฒ๋ฆฌ ๋ฐฉ๋ฒ
๋ฌธ์์ด์ charํ์ ๋ฐฐ์ด์ ์ ์ฅ ๊ฐ๋ฅ ์ด๋ ๋ฌธ์์ด์ ๊ตฌ์ฑํ๋ ๊ฐ ๋ฌธ์๋ค์ ๋ฐฐ์ด์ ์์์ ํ๋์ฉ ์ ์ฅ๋จ.
C ์คํ์ผ์ ๋ชจ๋ ๋ฌธ์์ด์ ๋ง์ง๋ง ๋ฌธ์๊ฐ ๋ฐ๋์ ๋๋ฌธ์ (null character, \0) ์ฌ์ผ ํ๋ค. ๋ ๋ฌธ์๋ ๋ฌธ์์ด์ ๋์ ํ๊ธฐํจ
char dog[8] = {'b','e','a','u','x','','i','i'}; //๋ฌธ์์ด ์๋, ์ถ๋ ฅํ ๊ฒฝ์ฐ ๋ฐฐ์ด์ ๋ค์ด์๋ ๋ฌธ์๋ฅผ ๋ชจ๋ ์ถ๋ ฅํ ํ์๋ ๊ทธ ์ดํ์ ๋ฉ๋ชจ๋ฆฌ ๋ด์ฉ์ ๋ฌธ์๋ก ๊ฐ์ฃผํ์ฌ ์ถ๋ ฅํจ
char cat[8] = {'f','a','t','e','s','s','a','\0'}; //๋ฌธ์์ด์ด๋ค
charํ ๋ฐฐ์ด์ ๋ฌธ์์ด๋ก ์ด๊ธฐํํ๋ ๋ฐฉ๋ฒ
char bird[10] = "Mr.Cheeps"; //\0 ์ ์ฅ
char fish[]="bubbles"; //์ปดํ์ผ๋ฌ๊ฐ ์์์ ์ฒ๋ฆฌ
char boss[8] = "Bozo";
B | o | z | o | \0 | \0 | \0 | \0 |
๋๋ฌธ์ ๋์ ์๋์ผ๋ก ์ถ๊ฐ
๋ฌธ์์ด ์์(" ์ฌ์ฉ)์ ๋ฌธ์ ์์(' ์ฌ์ฉ)์ ์๋ก ๋ฐ๊พธ์ด ์ธ ์ ์๋ค.
'S'์ ๊ฐ์ ๋ฌธ์ ์์๋ ๊ทธ ๋ฌธ์์ ํด๋นํ๋ ์์น ์ฝ๋๋ฅผ ๋ํ๋
"S"๋ S์ \0๋ก ๊ตฌ์ฑ๋ ๋ฌธ์์ด์ ๋ํ๋, ๋ด๋ถ์ ์ผ๋ก ๊ทธ ๋ฌธ์์ด์ด ์ ์ฅ๋์ด์๋ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ๋ํ๋
char a = 'S'; //๋ง๋ค
char a = "S"; //๋ฐ์ดํฐํ ๋ถ์ผ์น
๋ฌธ์์ด ์์์ ๊ฒฐํฉ
cout<<"abc" "def\n";
cout<<"abcdef\n";
cout<<"ab" "cdef\n";
--> ์ ๋ถ ๋์ผํ ๊ฒฐ๊ณผ๊ฐ ์ถ๋ ฅ๋จ.
๋ฐฐ์ด์ ๋ฌธ์์ด ์ฌ์ฉ
๋ฐฐ์ด์ ๋ฌธ์์ด์ ๋ฃ๋ ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ๋ฐฉ๋ฒ
1. ๋ฐฐ์ด์ ๋ฌธ์์ด ์์๋ก ์ด๊ธฐํ
2. ํค๋ณด๋ ์ ๋ ฅ์ด๋ ํ์ผ ์ ๋ ฅ์ ๋ฐฐ์ด์ ์ ์ฅํ๋ ๋ฐฉ๋ฒ
ex) char name[15];
cin>>name;
C | + | + | \0 | a | b | \0 |
๋ฌด์๋จ \0๋ฅผ ๋ฌธ์์ด์ ๋์ผ๋ก ์ธ์ํ๊ธฐ ๋๋ฌธ
cin์ด ๋ฌธ์์ด์ ๋์ ์ธ์ํ๋ ๋ฐฉ๋ฒ
๋น์นธ, ํญ, ์บ๋ฆฌ์ง ๋ฆฌํด๊ณผ ๊ฐ์ ํ์ดํธ ์คํ์ด์ค๊ฐ ์์ผ๋ฉด ๊ทธ ์์น์์ ๋ฌธ์์ด์ด ๋๋ ๊ฒ์ผ๋ก ๊ฐ์ฃผ
--> cout<<name<<dessert; // AliDreeb๊ฐ ์ถ๋ ฅ๋๋ค. (dessert์ ํค๋ณด๋๋ก apple๋ฅผ ์ ๋ ฅํ์์๋ ๋ถ๊ตฌํ๊ณ ..)