์์ ๋ ๊ณ ์ ๊ฐ์ ๊ฐ๋ ํํ์์
๋๋ค.
๋ฆฌํฐ๋ด
๋ฆฌํฐ๋ด์ ๊ฐ์ฅ ๋ช
๋ฐฑํ ์ข
๋ฅ์ ์์์
๋๋ค. ํ๋ก๊ทธ๋จ์ ์์ค ์ฝ๋ ๋ด์์ ํน์ ๊ฐ์ ํํํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์ด์ ์ฅ์์ ๋ณ์์ ํน์ ๊ฐ์ ์ง์ ํ๊ฑฐ๋ ํ๋ก๊ทธ๋จ์์ ์ถ๋ ฅํ๋ ค๋ โโ๋ฉ์์ง๋ฅผ ํํํ๊ธฐ ์ํด ์ด๋ฏธ ์ผ๋ถ๋ฅผ ์ฌ์ฉํ์ต๋๋ค. ์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
a = 5;โ
๋ฆฌํฐ๋ด ์์๋ ์ ์, ๋ถ๋ ์์์ , ๋ฌธ์, ๋ฌธ์์ด, ๋ถ์ธ, ํฌ์ธํฐ ๋ฐ ์ฌ์ฉ์ ์ ์ ๋ฆฌํฐ๋ด๋ก ๋ถ๋ฅํ ์ ์์ต๋๋ค.
์ ์
1776
707
-273
์ ์ ๊ฐ์ ์๋ณํ๋ ์ซ์ ์์์
๋๋ค.
10์ง์(์ฐ๋ฆฌ ๋๋ถ๋ถ์ด ๋งค์ผ ์ฌ์ฉ) ์ธ์๋ C++์์๋ 8์ง์(๊ธฐ์ 8) ๋ฐ 16์ง์(๊ธฐ์ 16)๋ฅผ ๋ฆฌํฐ๋ด ์์๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค. 8์ง์ ๋ฆฌํฐ๋ด์ ๊ฒฝ์ฐ ์ซ์ ์์ 0(์) ๋ฌธ์๊ฐ ์ต๋๋ค. 16์ง์์ ๊ฒฝ์ฐ ๋ฌธ์ 0x(0, x)๊ฐ ์์ ์ต๋๋ค. ์๋ฅผ ๋ค์ด, ๋ค์ ๋ฆฌํฐ๋ด ์์๋ ๋ชจ๋ ์๋ก ๋์ผํฉ๋๋ค.
75 // decimal
0113 // octal
0x4b // hexadecimalโ
์ด๋ค ๋ชจ๋๋ ๋์ผํ ์ซ์๋ฅผ ๋ํ๋
๋๋ค. 75(์น ์ญ์ค)๋ ๊ฐ๊ฐ 10์ง์, 8์ง์ ๋ฐ 16์ง์๋ก ํ์๋ฉ๋๋ค.
์ด๋ฌํ ๋ฆฌํฐ๋ด ์์์๋ ๋ณ์์ ๋ง์ฐฌ๊ฐ์ง๋ก ์ ํ์ด ์์ต๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ์ ์ ๋ฆฌํฐ๋ด์ ์ ํ int์
๋๋ค. ๊ทธ๋ฌ๋ ๋ค๋ฅธ ์ ์ ์ ํ์ ์ง์ ํ๊ธฐ ์ํด ์ ์ ๋ฆฌํฐ๋ด์ ํน์ ์ ๋ฏธ์ฌ๋ฅผ ์ถ๊ฐํ ์ ์์ต๋๋ค.
Suffix | Modifier Types |
u ๋๋ U | unsigned |
l ๋๋ L | long |
ll ๋๋ LL | long long |
Unsigned๋ ์์์ ๊ด๊ณ์์ด ๋ค๋ฅธ ๋ ๊ฐ์ ๊ฒฐํฉํ์ฌ unsigned long๋๋ ๋ฅผ ํ์ฑํ ์ unsigned long long์์ต๋๋ค.
75 // int
75u // unsigned int
75l // long
75ul // unsigned long
75lu // unsigned long
์์ ๋ชจ๋ ๊ฒฝ์ฐ์ ์ ๋ฏธ์ฌ๋ ๋๋ฌธ์ ๋๋ ์๋ฌธ์๋ฅผ ์ฌ์ฉํ์ฌ ์ง์ ํ ์ ์์ต๋๋ค.
๋ถ๋ ์์์ ์ซ์
์์์ ๋ฐ/๋๋ ์ง์๋ฅผ ์ฌ์ฉํ์ฌ ์ค์ ๊ฐ์ ํํํฉ๋๋ค.
3.14159 // 3.14159
6.02e23 // 6.02 x 10^23
1.6e-19 // 1.6 x 10^-19
3.0 // 3.0โ
๋ถ๋ ์์์ ๋ฆฌํฐ๋ด์ ๊ธฐ๋ณธ ์ ํ์ ์
๋๋ค double. float์ ํ ๋๋ long double๋ค์ ์ ๋ฏธ์ฌ ์ค ํ๋๋ฅผ ์ถ๊ฐํ์ฌ ์ง์ ํ ์ ์๋ ๋ถ๋ ์์์ ๋ฆฌํฐ๋ด :
Suffix | Type |
f or F | float |
l or L | long double |
์๋ฅผ ๋ค์ด:
3.14159L // long double
6.02e23f // float
๋ถ๋ ์์์ ์ซ์ ์์( e, f, l)์ ์ผ๋ถ๊ฐ ๋ ์ ์๋ ๋ชจ๋ ๋ฌธ์๋ ์๋ฏธ์ ์ฐจ์ด ์์ด ์๋ฌธ์ ๋๋ ๋๋ฌธ์๋ฅผ ์ฌ์ฉํ์ฌ ์์ฑํ ์ ์์ต๋๋ค.
๋ฌธ์ ๋ฐ ๋ฌธ์์ด ๋ฆฌํฐ๋ด
๋ฌธ์ ๋ฐ ๋ฌธ์์ด ๋ฆฌํฐ๋ด์ ๋ฐ์ดํ๋ก ๋ฌถ์ต๋๋ค.
'z'
'p'
"Hello world"
"How do you do?"
์ฒ์ ๋ ํํ์์ ๋จ์ผ ๋ฌธ์ ๋ฆฌํฐ๋ด ์ ๋ํ๋ด๊ณ ๋ค์ ๋ ํํ์ ์ ์ฌ๋ฌ ๋ฌธ์๋ก ๊ตฌ์ฑ๋ ๋ฌธ์์ด ๋ฆฌํฐ๋ด ์ ๋ํ๋
๋๋ค. ๋จ์ผ ๋ฌธ์๋ฅผ ๋ํ๋ด๋ ค๋ฉด ์์๋ฐ์ดํ( ')๋ก ๋ฌถ๊ณ ๋ฌธ์์ด(์ผ๋ฐ์ ์ผ๋ก ๋ ์ด์์ ๋ฌธ์๋ก ๊ตฌ์ฑ๋จ)์ ํํํ๋ ค๋ฉด ํฐ๋ฐ์ดํ( ")๋ก ๋ฌถ์ต๋๋ค.
๋ฌธ์ ๋ฐ ๋ฌธ์์ด ๋ฆฌํฐ๋ด์ ๊ฐํ( ) ๋๋ ํญ( ) ๊ณผ ๊ฐ์ด ํ๋ก๊ทธ๋จ์ ์์ค ์ฝ๋์์ ๋ฌ๋ฆฌ ํํํ๊ธฐ ์ด๋ ต๊ฑฐ๋ ๋ถ๊ฐ๋ฅํ ํน์ ๋ฌธ์๋ฅผ ๋ํ๋ผ ์๋ ์์ต๋๋ค . ์ด๋ฌํ ํน์ ๋ฌธ์๋ ๋ชจ๋ ๋ฐฑ์ฌ๋์ ๋ฌธ์( )๊ฐ ์์ ์ต๋๋ค. ๋ค์์ ๋จ์ผ ๋ฌธ์ ์ด์ค์ผ์ดํ ์ฝ๋ ๋ชฉ๋ก์
๋๋ค.
์ด์ค์ผ์ดํ ์ฝ๋ | ์ค๋ช |
\n | ๊ฐํ |
\r | ์บ๋ฆฌ์ง ๋ฆฌํด |
\t | ํญ |
\v | ์ธ๋ก ํญ |
\b | ์ญํ ํค์ด |
\f | ์์ ํผ๋(ํ์ด์ง ํผ๋) |
\a | ๊ฒฝ๊ณ (์) |
\' | ์์๋ฐ์ดํ( ') |
\" | ํฐ๋ฐ์ดํ( ") |
\? | ๋ฌผ์ํ( ?) |
\\ | ๋ฐฑ์ฌ๋์( \) |
์: ๋ด๋ถ์ ์ผ๋ก ์ปดํจํฐ๋ ๋ฌธ์๋ฅผ ์ซ์ ์ฝ๋๋ก ๋ํ๋
๋๋ค. ๊ฐ์ฅ ์ผ๋ฐ์ ์ผ๋ก ASCII ๋ฌธ์ ์ธ์ฝ๋ฉ ์์คํ
์ ํ์ฅ์ ์ฌ์ฉํฉ๋๋ค
์ฌ๋ฌ ๋ฌธ์์ด ๋ฆฌํฐ๋ด์ ์ฐ๊ฒฐํ์ฌ ํญ, ์ค ๋ฐ๊ฟ ๋ฐ ๊ธฐํ ์ ํจํ ๊ณต๋ฐฑ ๋ฌธ์๋ฅผ ํฌํจํ์ฌ ํ๋ ์ด์์ ๊ณต๋ฐฑ์ผ๋ก ๊ฐ๋จํ ๊ตฌ๋ถํ์ฌ ๋จ์ผ ๋ฌธ์์ด ๋ฆฌํฐ๋ด์ ํ์ฑํ ์ ์์ต๋๋ค.
"this forms" "a single" " string "
"of characters"
์๋ ๋ค์๊ณผ ๋์ผํ ๋ฌธ์์ด ๋ฆฌํฐ๋ด์ ๋๋ค.
"this formsa single string of characters"
๋ฐ์ดํ ์์ ๊ณต๋ฐฑ์ ๋ฆฌํฐ๋ด์ ์ผ๋ถ์ธ ๋ฐ๋ฉด ์ธ๋ถ์ ๊ณต๋ฐฑ์ ๊ทธ๋ ์ง ์์ต๋๋ค.
์ผ๋ถ ํ๋ก๊ทธ๋๋จธ๋ ์ฌ๋ฌ ์ค์ ๊ธด ๋ฌธ์์ด ๋ฆฌํฐ๋ด์ ํฌํจํ๋ ํธ๋ฆญ์ ์ฌ์ฉํ๊ธฐ๋ ํฉ๋๋ค. C++์์ \์ค ๋์ ์๋ ๋ฐฑ์ฌ๋์( )๋ ํด๋น ์ค๊ณผ ๋ค์ ์ค์ ํ ์ค๋ก ๋ณํฉํ๋ ์ค ์ฐ์ ๋ฌธ์๋ก ๊ฐ์ฃผ๋ฉ๋๋ค.
x = "string expressed in \
two lines"
๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
x = "string expressed in two lines"โ
์์์ ์ค๋ช
ํ ๋ชจ๋ ๋ฌธ์ ๋ฆฌํฐ๋ด๊ณผ ๋ฌธ์์ด ๋ฆฌํฐ๋ด์ ์ ํ์ ๋ฌธ์๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ๋ค์ ์ ๋์ฌ ์ค ํ๋๋ฅผ ์ฌ์ฉํ์ฌ ๋ค๋ฅธ ๋ฌธ์ ์ ํ์ ์ง์ ํ ์ ์์ต๋๋ค.
์ ๋์ฌ | ๋ฌธ์ ์ ํ |
u | char16_t |
U | char32_t |
L | wchar_t |
๊ธฐํ ๋ฆฌํฐ๋ด
C++์๋ ๋ค์๊ณผ ๊ฐ์ ์ธ ๊ฐ์ง ํค์๋ ๋ฆฌํฐ๋ด true, false, nullptr ์์ต๋๋ค.
- true๋ฐ false์ ํ์ bool๋ณ์์ ๋ํ ๊ฐ์ ๋๋ค .
- nullptr ์ ํฌ์ธํฐ ๋ณ์์ ๋ฃ์์ ์๋ 0๊ฐ์ ๋๋ค.
bool foo = true;
bool bar = false;
int* p = nullptr
ํ์ํ๋ ์์ ํํ์
๋๋ก๋ ์์ ๊ฐ์ ์ด๋ฆ์ ์ง์ ํ๋ ๊ฒ์ด ํธ๋ฆฌํฉ๋๋ค.
const double pi = 3.1415926;
const char tab = '\t';
๊ทธ๋ฐ ๋ค์ ์ ์๋ ๋ฆฌํฐ๋ด ๋์ ๋ค์ ์ด๋ฆ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
#include <iostream>
using namespace std;
const double pi = 3.14159;
const char newline = '\n';
int main ()
{
double r=5.0; // radius
double circle;
circle = 2 * pi * r;
cout << circle;
cout << newline;
}
์์ ๊ฐ์ ์ด๋ฆ์ ์ง์ ํ๋ ๋ ๋ค๋ฅธ ๋ฉ์ปค๋์ฆ์ ์ ์ฒ๋ฆฌ๊ธฐ ์ ์๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์
๋๋ค. ํ์์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
#define identifier replacement
์ด ์ง์๋ฌธ ๋ค์ identifier์๋ ์ฝ๋์ ๋ชจ๋ ํญ๋ชฉ์ replacement๋ก ํด์๋ฉ๋๋ค . ์ด ๊ต์ฒด๋ ์ ์ฒ๋ฆฌ๊ธฐ์ ์ํด ์ํ๋๋ฉฐ ํ๋ก๊ทธ๋จ์ด ์ปดํ์ผ๋๊ธฐ ์ ์ ๋ฐ์ํฉ๋๋ค.
#include <iostream>
using namespace std;
#define PI 3.14159
#define NEWLINE '\n'
int main ()
{
double r=5.0; // radius
double circle;
circle = 2 * PI * r;
cout << circle;
cout << NEWLINE;
}
'๐ Development Study > ๐ป Win32API' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๊ธฐ๋ณธ ์ ์ถ๋ ฅ (0) | 2022.08.17 |
---|---|
์ฐ์ฐ์ (0) | 2022.08.17 |
๋ณ์ ๋ฐ ์ ํ (0) | 2022.08.17 |
ํ๋ก๊ทธ๋จ์ ๊ตฌ์กฐ (0) | 2022.08.17 |
์ปดํ์ผ๋ฌ (0) | 2022.08.17 |
๋๊ธ