โน๏ธ Skipped - page is already crawled
| Filter | Status | Condition | Details |
|---|---|---|---|
| HTTP status | PASS | download_http_code = 200 | HTTP 200 |
| Age cutoff | FAIL | download_stamp > now() - 6 MONTH | 6.2 months ago |
| History drop | PASS | isNull(history_drop_reason) | No drop reason |
| Spam/ban | PASS | fh_dont_index != 1 AND ml_spam_score = 0 | ml_spam_score=0 |
| Canonical | PASS | meta_canonical IS NULL OR = '' OR = src_unparsed | Not set |
| Property | Value |
|---|---|
| URL | https://velog.io/@flyjunu/chapter-1-c-%EC%BB%B4%ED%8C%8C%EC%9D%BC |
| Last Crawled | 2025-10-20 04:07:48 (6 months ago) |
| First Indexed | 2025-10-20 01:37:25 (6 months ago) |
| HTTP Status Code | 200 |
| Content | |
| Meta Title | chapter 1 c++ ์ปดํ์ผ๊ณผ ๋๋ฒ๊น |
| Meta Description | ์ปดํ์ผ ๊ณผ์ ์ฌ์ฉ์๊ฐ C++ํ์ผ(ํ์ผ๋ช .cpp)์ ์์ฑํ๊ณ ์ปดํ์ผ ๋ฒํผ์ ๋๋ฅด๋ฉด C++ํ๋ก๊ทธ๋จ์ด ์ปดํจํฐ๊ฐ ์ฝ์ ์ ์๋๋ก ๋ชฉ์ ํ์ผ(ํ์ผ๋ช .obj)๋ก ๋ฐ๊พผ๋ค. ๊ทธ ํ ์ธ๋ถ C++๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ํจ์, ๊ฐ์ฒด๋ฑ์ ์ด์ฉํ๊ธฐ ์ํด ๋งํน์ ํตํด ์ฝ๋๋ฅผ ๊ฐ์ ธ์ค๋ ์์ ์ ์งํํ๋ค. ์ด๋ฐ |
| Meta Canonical | null |
| Boilerpipe Text | ์ปดํ์ผ ๊ณผ์ ์ฌ์ฉ์๊ฐ C++ํ์ผ(ํ์ผ๋ช
.cpp)์ ์์ฑํ๊ณ ์ปดํ์ผ ๋ฒํผ์ ๋๋ฅด๋ฉด C++ํ๋ก๊ทธ๋จ์ด ์ปดํจํฐ๊ฐ ์ฝ์ ์ ์๋๋ก ๋ชฉ์ ํ์ผ(ํ์ผ๋ช
.obj)๋ก ๋ฐ๊พผ๋ค. ๊ทธ ํ ์ธ๋ถ C++๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ํจ์, ๊ฐ์ฒด๋ฑ์ ์ด์ฉํ๊ธฐ ์ํด ๋งํน์ ํตํด ์ฝ๋๋ฅผ ๊ฐ์ ธ์ค๋ ์์
์ ์งํํ๋ค. ์ด๋ฐ ๋ณต์กํ ๊ณผ์ ์ ํตํด ์คํํ์ผ(ํ์ผ๋ช
.exe)๊ฐ ๋ง๋ค์ด ์ง์ง๋ง, ์คํ๋ ์๋ชป๋ ์ฐธ์กฐ ๋ฑ์ผ๋ก ์คํ์ ์ค๋ฅ๊ฐ ์๊ธฐ๋ ์คํํ์ผ์ด ๋ง๋ค์ด์ง๋ฉด ์ฌ์ฉ์๊ฐ ๋๋ฒ๊น
์ ํตํด ์์ ํ ๋ค์ ์ปดํ์ผ์ ์คํํด์ผํ๋ค. ์ ๋ฆฌ
1. ์์ค ํ์ผ ์์ฑ(์ฝ๋ ์ง๊ธฐ)
2. ์ปดํ์ผ ์คํ
3. ๋ชฉ์ ํ์ผ ์์ฑ(obj)
3. ๋งํน(๋ผ์ด๋ธ๋ฌ๋ฆฌ, ํจ์, ๊ฐ์ฒด)
4. ์คํํ์ผ์์ฑ(exe)
5. ์๋ฃ(์ค๋ฅ์ 1๋ฒ์ผ๋ก ๋์๊ฐ ์ฌ์ฉ์๊ฐ ๋๋ฒ๊น
) vs code๋ก ์ปดํ์ผ ํ๋๋ฒ ctrl + F5 : ์ปดํ์ผ + ๋น๋ํ๊ธฐ F5 : ์ด๋ฏธ ๋ง๋ค์ด์ง exeํ์ผ์ ๋๋ฒ๊น
๋งํ์ฌ ๊ฒฐ๊ณผ๋ง ์ถ๋ ฅํ๊ณ ๋ซ๊ธฐ. ์ปดํ์ผ์ ์ฃผ์์ฌํญ visual studio code์์๋ ์ปดํ์ผ๋ฌ๊ฐ ๊ธฐ๋ณธ์ ์ผ๋ก ์ค์น๋์ด ์์ง ์๋ค. ๋ฐ๋ผ์ ์ปดํ์ผ๋ฌ๋ ์ง์ ์ค์นํด์ผํ๋ค. ํ์ผ ๊ฒฝ๋ก์ 'ํ๊ธ'์ฌ์ฉ์ ์ปดํ์ผ์ error๋ฅผ ์ถ๋ ฅํ๊ฑฐ๋, ๋๋ฒ๊น
์ error๋ฅผ ์ถ๋ ฅํ๋ค. ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ์ ๋ฐํ์ ์๋๋ฐฉ์ ์ฌ์ฉ์๊ฐ ์ฝ๋ ์คํํ๋ฉด, ์ด ์ฝ๋๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋๋ค. ์ฝ๋์์ญ
์ฌ์ฉ์๊ฐ ์์ฑํ ์ฝ๋๋ฅผ ๋ด๋ ์์ญ์ด๋ค. ๋ฐ์ดํฐ์์ญ
์ ์ญ๋ณ์๋, ๋ฌธ์๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ค. ์ด๋ ๋จ 1๋ฒ๋ง ์ต์ด ์คํ๋๋ค. ํ์์ญ
๋์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋นํ๋ค. ์คํ์์ญ
์ง์ญ๋ณ์๋ ๋งค๊ฐ๋ณ์๋ฑ์ ๋ด๋๋ค. ๊ฐ ์์ญ์ ํจ์๋ ๋ณ์๋ฑ์ด ์ ์ฅ๋๋ ์์น๊ฐ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ์๋ช
์ฃผ๊ธฐ๊ฐ ์๋ก ๋ฌ๋ผ์ง๋ค. ์ฝ๋์์ญ๊ณผ ๋ฐ์ดํฐ ์์ญ ์ ์ปดํ์ผ๊ณผ ๋งํน๊ณผ์ ์ ๊ฑฐ์น๋ฉด ๋ง๋ค์ด์ง๋ค. ์ด๋ ๊ฒ ๋ง๋ค์ด์ง exeํ์ผ์ ์คํ ํ๋ฉด, ๋ก๋๋ผ๋ ํจ์๊ฐ ๋์์ญ์ ๋ฉ๋ชจ๋ฆฌ์ ํ ๋น์ํค๋๋ฐ, ์ด ๊ณผ์ ์์ ์คํ์์ญ ์ ๋ฉ๋ชจ๋ฆฌ์ ํ ๋น(์์ฑX, ์์) ํ๋ค. ํ์์ญ ์ runtime ๋ ๋์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ํ์ํ๋ฉด ํ ๋น(์์ฑX,์์) ํ๋ค. ์คํ๊ณผ ํ์ ์์์์ญ์ด๋ค. ์ด ์์์์ญ์ ์คํ๊ณผ ํ์ด ๊ฐ์ด ๊ณต์ ํ๋ค.
๋ง์ฝ ์์์์ญ์ ๊ณผ๋ํ๊ฒ ํ ๋นํ๋ ค๋ ์๋(ex: int name[1024*1024])๊ฐ ์๋ค๋ฉด, ๊ณต๊ฐํ ๋น์ ์คํจํ๋ฉฐ ์๋ฌ๊ฐ ๋ ์ ์๋ค. ์ ์ญ๋ณ์๋ 1๋ฒ๋ง exeํ์ผ์ ๋ง๋ค ๋ ์์ฑ๋๋๋ฐ, ๋ฐ๋ผ์ ์ฝ๋์ ์ฌ๋ฌ๋ฒ ์์ฑํ๋ค๊ณ ํด์ ์๋์ฒ๋ผ c๊ฐ ์ด๊ธฐํ ๋๋ ๊ฒ์ด ์๋, c์ ๊ณ์ ๊ฐ์ด ์ถ๊ฐ๋์ด 20์ ์ถ๋ ฅํ๋ค. static์ ๊ทธํ์ผ๋ด์์ ์ฌ์ฉํ๋ ์ ์ญ๋ณ์ ์ง์ ๊ตฌ๋ฌธ์ด๋ค. ์ฌ์ฉ์์
int a=8; // ์ ์ญ๋ณ์:: ์ปดํ์ผ,๋งํน๊ณผ์ ์์ ๋ฐ์ดํฐ์์ญ
int main() { // ๋ฉ์ธํจ์:: runtime์ ์คํ์์ญ
int b = 1; // ์ง์ญ๋ณ์:: runtime์ ์คํ์์ญ
for(int i=0; i<20; i++){
static int c=0 (์ด ์ฝ๋๋ 1๋ฒ๋ง ์คํ)
int c++;
}
return 0;
} ๋ฐฐ์ด ์์ฑ ์๋ฌ int x;
cin >> x;
int arr[x]; ์ ๊ฐ์ ์ ์ธ๋ฌธ์ ์ ์์ ์ผ๋ก ์คํ๋์ง ์๋๋ค. ์๋ํ๋ฉด, ์๋ arr[x]๋ ์คํ ์์ญ์ ๋ค์ด๊ฐ์ด์ผ ํ๋, ์คํ์ ๋ฐฐ์ด์ ํฌ๊ธฐ๋ฅผ ๋์ ์ผ๋ก ํ ๋น๋ฐ๋๊ฒ์ด ๋ถ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ด๋ค. ๋ฐ๋ผ์, ๋์ ์ธ ํฌ๊ธฐ์ ๋ฐฐ์ด์ ์์ฑํ๊ณ ์ถ๋ค๋ฉด, new๋ฅผ ํตํด ํ์ ์ด์ฉํด์ผ ํ๋ค. ๋จ, ํฌ์ธํฐ๋ฅผ ๋ฐ๋์ ์ญ์ ํด์ผํ๋ค. int *arr = new int[x]; // ํ์์ ๋ฐฐ์ด๊ณต๊ฐ์ ์์ฑํด ๊ทธ ์ฃผ์๋ฅผ arrํฌ์ธํฐ์ ์ ์ฅ
delete arr[]; ๋๋ฒ๊น
๋๋ฒ๊น
์ด๋? ์ค๋ฅ๋ฅผ ๊ฒ์ถํ๋ ๊ณผ์ ์ ์๋ฏธํ๋ค.
๋๋ฒ๊น
์ ์์ํ๋ ค๋ฉด vscode์ ์คํ์ฐฝ์์ F9๋ฅผ ํตํด ์ค๋จ์ (๊ฒ์ฌํ ๋ฒ์)๋ฅผ ์ค์ ํ ํ F5๋ฅผ ํตํด ๋๋ฒ๊น
์ ์์ํ๋ฉด ๋๋ค. ์ด๋ ์ฝ๋ ์ผ์ชฝ์ ํด๋ฆญํ๋ฉด ์ค๋จ์ ์ด ์์ฑ๋๋ค. (๋ง์ฝ, ๋๋ฒ๊น
์์ด exeํ์ผ์ ์คํํ๊ณ ์ถ๋ค๋ฉด, ctrl+F5๋ฅผ ๋๋ฅด๋ฉด ๋๋ค.) ๋๋ฒ๊น
๋ชจ๋๋ฅผ ๋ฒ์ด๋๊ณ ์ถ๋ค๋ฉด ๋นจ๊ฐ์์ ์ ๋ถ ๋๋ฌ ์์๋ฉด ์๋ ์ฐฝ์ผ๋ก ๋์์จ๋ค. ์ค๋จ์ ์ด๋? ์ด๋ค ์ ๊น์ง๋ง ์ผ๋จ ์คํํ๋ค์ ์ค๋จํ๋ ๊ฒ์ ์๋ฏธํ๋ค. ๋๋ฒ๊น
๋ชจ๋์์๋ ์ผ์ชฝ์ ๋ค์์ ํญ๋ชฉ์ด ๋ํ๋๋ค. ๋ณ์(์ง์ญ, ์ ์ญ) ์กฐ์ฌ์(๊ด์ฌ์๋ ๋ณ์๋ฅผ ์ง์ ํ ์ ์๋ค. ๋ํ, ๊ฐ๋จํ ๊ฒ์ฆ์์๋ ์ถ๊ฐ๊ฐ๋ฅ) ํธ์ถ์คํ(ํจ์๊ฐ ์ด๋ค ์์๋ก ์คํ๋์๋์ง ํ์ธ๊ฐ๋ฅ, ์ค๋จ์ ์ผ๋ก ์ ์ด) ๋๋ฒ๊น
์์์ ์ด ์์ธก์๋ ์์๊ฐ์ ์์ด์ฝ์ด ๋ํ๋๋ค. ๊ฐ ์์ด์ฝ ์์๋๋ก ๊ฐ๊ฐ,
1. ๋ค์์ค๋จ์ ๊น์ง ์คํ
2. ์ฝ๋๋ฅผ 1์ค์ฉ ์คํํ๋ฉฐ ์ค๋ฅ์ฐพ๊ธฐ(๋จ, ํจ์๋ ๋ฌด์)
3. ์ฝ๋๋ฅผ 1์ค์ฉ ์คํํ๋ฉฐ ์ค๋ฅ์ฐพ๊ธฐ(ํจ์๋ ์คํํ๋ฉฐ, ํจ์์์น๋ก ์ด๋ํ 1์ค์ฉ ์คํ)
4. 3๋ฒ์ค ํจ์ ํ์ถํ๊ณ ๋ฉ์ธํจ์๋ก ๋์๊ฐ๊ธฐ ์ด๋ค. ๋๋ฒ๊น
๋์ ํ์ฉ ์ ์๋์ ๊ฐ์ ์ฝ๋๊ฐ ์กด์ฌํ๋ค. int main() {
int t;
for(int i=0; i<t; i++){
static int c=0 (์ด ์ฝ๋๋ 1๋ฒ๋ง ์คํ)
int c++;
}
return 0;
} ์ ์ฝ๋์์ ์ฐ๋ฆฌ๋ t๊ฐ์ ์์ ์๋ค.
์ด๋ฐ t๊ฐ์ ์ด๋ค ์ ์๋ฅผ =์ ํตํด ํ๋ํ๋ ์ฝ๋๋ฅผ ๋ฐ๊ฟ๊ฐ๋ฉฐ ์
๋ ฅํด ํ
์คํธ ํ์ง์๊ณ ๋๋ฒ๊น
๋ชจ๋์์ t์ ์ ์๋ฅผ ๋ฃ์ด ์ด๋ค๋ฐฉ์์ผ๋ก ์ฒ๋ฆฌ๋๋์ง ํ์ธํ ์ ์๋ค. int main() {
int t;
for(int i=0; i<t; i++){
static int c=0;
c++;
};
}
์๊ฐ์์ t๋ ์ด๋ค ๊ฐ์ผ๋ก ์ด๊ธฐํ ํ์ง ์์๊ธฐ ๋๋ฌธ์ garbege๊ฐ์ด ๋ค์ด๊ฐ๋ค. ๋ง์ฝ garbege๊ฐ์ด 5๋ผ๋ฉด 5๋ฒ for๋ฌธ์ด ์คํ๋์ด c๋ 5๊ฐ๋๋ค. ์ด๋ ๋๋ฒ๊น
๋ชจ๋์์ int t์ดํ for๋ฌธ์์ ์ค๋จ์ ์ ๊ฑด๋ค, ์ผ์ชฝ ๋ก์ปฌ๋ณ์ t๊ฐ์ 3์ผ๋ก ์์ ํ๋ค๋ฉด ์ด๋ป๊ฒ ๋ ๊น? ๋ฐ๋ณต๋ฌธ์ด 3๋ฒ ์คํ๋๋ค. ๋งค์ฐ๋งค์ฐ ์ ๊ธฐํ ๊ธฐ๋ฅ์ด๋ค!. ์กฐ๊ฑด๋ฌธ์ผ๋ก ๋๋ฒ๊น
์ ์ดํ๊ธฐ ๋ง์ฝ for๋ฌธ์ t๊ฐ 100์ด๋ผ๋ฉด 50๋ฒ์งธ ์คํ ์ค์ '50๋ฒ์งธ ์คํ์ค์
๋๋ค'๊ฐ ์ ์ ์ถ๋ ฅ๋๋์ง ์ด๋ป๊ฒ ํ์ธํ ๊น? 50๋ฒ๋ง ํด๋ฆญํ ๊น? ๋
ธ๊ฐ๋ค์ง๋ง ํ ๋งํ๋ค.
๋ง์ฝ 500๋ฒ์ด๋ผ๋ฉด ์ด๋ป๊ฒ ์ฒ๋ฆฌํ๊ฒ ๋๊ฐ?
์ด๋ฅผ ์ํด ์ค๋จ์ ์ ํน์ ์กฐ๊ฑด์์ ์คํ๋๊ฒ ํ ์ ์๋ค. ์ค๋จ์ ์์ ์ฐํด๋ฆญํ ์ค๋จ์ ํธ์ง์ ํด๋ฆญํ๋ค. ์ด๋ ์กฐ๊ฑด์ i===500์ผ๋ก ๋ฐ๊พธ๋ฉด i===500๋ถํฐ ์คํํ ์ ์๋ค. #include < iostream >
using namespace std;
int main() {
int t;
for(int i=0; i<t; i++){
static int c=0;
c++;
};
} ํ๊ธ ์ถ๋ ฅํ๊ธฐ ํ๊ธ์ด ์ถ๋ ฅ๋ ๊นจ์ง๋ค๋ฉด ์ธ์ฝ๋ฉ ์๋ฌ๋ผ๊ณ ํ๋ค.
์ด๋ฅผ UTF-8์ด๋, korean์ผ๋ก ๋ณ๊ฒฝํ๋ฉด ํด๊ฒฐํ ์ ์๋ค. using namespace std; ๋งํน ๊ณผ์ ์์ ์ฌ๋ฌ๊ฐ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฝ๋๋ฅผ ์ปดํ์ผ๋ฌ๊ฐ ๋ค์ด๋ฐ๋ค ๋ณด๋ฉด, ์ด๋ฆ์ ์ค๋ณต๊ฐ์ด ์๊ฒจ ์ด๋ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์์ผํ ์ง ์ปดํ์ผ๋ฌ๊ฐ ๋ชจ๋ฅด๋ ๊ฒฝ์ฐ๊ฐ ์กด์ฌํ๋ค. ์ด๋ฐ ์ด๋ฆ ์ค๋ณต ํ์์ ๋ง๊ธฐ์ํด ์ฌ์ฉํ๋ ๊ฒ์ด name space์ด๋ค. ๋ํ์ ์ธ ํ์ค C++ name space๋ก std๊ฐ ์กด์ฌํ๋ค. ์ฌ์ฉ ์์)
1. std๋ผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ ค๋ฉด, std::cout์ฒ๋ผ ๊ฐ์ ธ์ค๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ช
์ ์ฌ์ฉํ๋ ค๋ ํจ์ ์์ ๋ถ์ฌ ์จ์ผ๋ง ํ๋ค. using std::cout ๊ณผ ๊ฐ์ด using์ ์ฌ์ฉํ ๊ฒฝ์ฐ, cout์ด๋ผ๋ ํจ์์ ํํด์ std::๋ผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ช
์ ์๋ตํ ์ ์๋ค. using namespace std;์ ๊ฐ์ด namespace๊ตฌ๋ฌธ์ ์ฌ์ฉํด์ฃผ๋ฉด, ๋ชจ๋ std๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ํด std::๋ฅผ ์๋ตํ ์ ์๋ค.
๋จ, std์ ์กด์ฌํ๋ ํจ์์ ์์ ์ด ๋ง๋ ํจ์๋ช
์ด ์ค๋ณต๋์ด์ ์๋๋ค. #include <iostream>
using name space std;
-> cout๋ฟ ์๋๋ผ, cin๋ฑ ๋ชจ๋ ์
์ถ๋ ฅ ๊ด๋ จ ํจํค์ง๋ ์ฌ์ฉํ๊ธฐ ์ํด iostream์ ์ฌ์ฉํ๋ค. |
| Markdown | [flyjunu.log](https://velog.io/@flyjunu/posts)
๋ก๊ทธ์ธ
[flyjunu.log](https://velog.io/@flyjunu/posts)
๋ก๊ทธ์ธ
# chapter 1 c++ ์ปดํ์ผ๊ณผ ๋๋ฒ๊น
[๋ฐ์ค์ฐ](https://velog.io/@flyjunu/posts)ยท2025๋
3์ 11์ผ
ํ๋ก์ฐ
0
[๋ช
ํC++ํ๋ก๊ทธ๋๋ฐ](https://velog.io/tags/%EB%AA%85%ED%92%88C%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D)
0
## [๋ช
ํC++ํ๋ก๊ทธ๋๋ฐ](https://velog.io/@flyjunu/series/%EB%AA%85%ED%92%88C%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D)
๋ชฉ๋ก ๋ณด๊ธฐ
6/10
## ์ปดํ์ผ ๊ณผ์
์ฌ์ฉ์๊ฐ C++ํ์ผ(ํ์ผ๋ช
.cpp)์ ์์ฑํ๊ณ ์ปดํ์ผ ๋ฒํผ์ ๋๋ฅด๋ฉด C++ํ๋ก๊ทธ๋จ์ด ์ปดํจํฐ๊ฐ ์ฝ์ ์ ์๋๋ก ๋ชฉ์ ํ์ผ(ํ์ผ๋ช
.obj)๋ก ๋ฐ๊พผ๋ค. ๊ทธ ํ ์ธ๋ถ C++๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ํจ์, ๊ฐ์ฒด๋ฑ์ ์ด์ฉํ๊ธฐ ์ํด ๋งํน์ ํตํด ์ฝ๋๋ฅผ ๊ฐ์ ธ์ค๋ ์์
์ ์งํํ๋ค. ์ด๋ฐ ๋ณต์กํ ๊ณผ์ ์ ํตํด ์คํํ์ผ(ํ์ผ๋ช
.exe)๊ฐ ๋ง๋ค์ด ์ง์ง๋ง, ์คํ๋ ์๋ชป๋ ์ฐธ์กฐ ๋ฑ์ผ๋ก ์คํ์ ์ค๋ฅ๊ฐ ์๊ธฐ๋ ์คํํ์ผ์ด ๋ง๋ค์ด์ง๋ฉด ์ฌ์ฉ์๊ฐ ๋๋ฒ๊น
์ ํตํด ์์ ํ ๋ค์ ์ปดํ์ผ์ ์คํํด์ผํ๋ค.
์ ๋ฆฌ
1. ์์ค ํ์ผ ์์ฑ(์ฝ๋ ์ง๊ธฐ)
2. ์ปดํ์ผ ์คํ
3. ๋ชฉ์ ํ์ผ ์์ฑ(obj)
3. ๋งํน(๋ผ์ด๋ธ๋ฌ๋ฆฌ, ํจ์, ๊ฐ์ฒด)
4. ์คํํ์ผ์์ฑ(exe)
5. ์๋ฃ(์ค๋ฅ์ 1๋ฒ์ผ๋ก ๋์๊ฐ ์ฌ์ฉ์๊ฐ ๋๋ฒ๊น
)
## vs code๋ก ์ปดํ์ผ ํ๋๋ฒ
1. ctrl + F5 : ์ปดํ์ผ + ๋น๋ํ๊ธฐ
2. F5 : ์ด๋ฏธ ๋ง๋ค์ด์ง exeํ์ผ์ ๋๋ฒ๊น
๋งํ์ฌ ๊ฒฐ๊ณผ๋ง ์ถ๋ ฅํ๊ณ ๋ซ๊ธฐ.
## ์ปดํ์ผ์ ์ฃผ์์ฌํญ
1. visual studio code์์๋ ์ปดํ์ผ๋ฌ๊ฐ ๊ธฐ๋ณธ์ ์ผ๋ก ์ค์น๋์ด ์์ง ์๋ค. ๋ฐ๋ผ์ ์ปดํ์ผ๋ฌ๋ ์ง์ ์ค์นํด์ผํ๋ค.
2. ํ์ผ ๊ฒฝ๋ก์ 'ํ๊ธ'์ฌ์ฉ์ ์ปดํ์ผ์ error๋ฅผ ์ถ๋ ฅํ๊ฑฐ๋, ๋๋ฒ๊น
์ error๋ฅผ ์ถ๋ ฅํ๋ค.
## ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ์ ๋ฐํ์ ์๋๋ฐฉ์
์ฌ์ฉ์๊ฐ ์ฝ๋ ์คํํ๋ฉด, ์ด ์ฝ๋๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋๋ค.
1. ์ฝ๋์์ญ
์ฌ์ฉ์๊ฐ ์์ฑํ ์ฝ๋๋ฅผ ๋ด๋ ์์ญ์ด๋ค.
2. ๋ฐ์ดํฐ์์ญ
์ ์ญ๋ณ์๋, ๋ฌธ์๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ค. ์ด๋ **๋จ 1๋ฒ๋ง** ์ต์ด ์คํ๋๋ค.
3. ํ์์ญ
๋์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋นํ๋ค.
4. ์คํ์์ญ
์ง์ญ๋ณ์๋ ๋งค๊ฐ๋ณ์๋ฑ์ ๋ด๋๋ค.
๊ฐ ์์ญ์ ํจ์๋ ๋ณ์๋ฑ์ด ์ ์ฅ๋๋ ์์น๊ฐ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ์๋ช
์ฃผ๊ธฐ๊ฐ ์๋ก ๋ฌ๋ผ์ง๋ค.
**์ฝ๋์์ญ๊ณผ ๋ฐ์ดํฐ ์์ญ**์ ์ปดํ์ผ๊ณผ ๋งํน๊ณผ์ ์ ๊ฑฐ์น๋ฉด ๋ง๋ค์ด์ง๋ค. ์ด๋ ๊ฒ ๋ง๋ค์ด์ง exeํ์ผ์ **์คํ**ํ๋ฉด, ๋ก๋๋ผ๋ ํจ์๊ฐ ๋์์ญ์ ๋ฉ๋ชจ๋ฆฌ์ ํ ๋น์ํค๋๋ฐ, ์ด ๊ณผ์ ์์ **์คํ์์ญ**์ ๋ฉ๋ชจ๋ฆฌ์ ํ ๋น(์์ฑX, ์์) ํ๋ค. **ํ์์ญ**์ runtime ๋ **๋์ **๋ฉ๋ชจ๋ฆฌ๊ฐ ํ์ํ๋ฉด ํ ๋น(์์ฑX,์์) ํ๋ค.
์คํ๊ณผ ํ์ ์์์์ญ์ด๋ค. ์ด ์์์์ญ์ ์คํ๊ณผ ํ์ด ๊ฐ์ด ๊ณต์ ํ๋ค.
๋ง์ฝ ์์์์ญ์ ๊ณผ๋ํ๊ฒ ํ ๋นํ๋ ค๋ ์๋(ex: int name\[1024\*1024\])๊ฐ ์๋ค๋ฉด, ๊ณต๊ฐํ ๋น์ ์คํจํ๋ฉฐ ์๋ฌ๊ฐ ๋ ์ ์๋ค.
์ ์ญ๋ณ์๋ 1๋ฒ๋ง exeํ์ผ์ ๋ง๋ค ๋ ์์ฑ๋๋๋ฐ, ๋ฐ๋ผ์ ์ฝ๋์ ์ฌ๋ฌ๋ฒ ์์ฑํ๋ค๊ณ ํด์ ์๋์ฒ๋ผ c๊ฐ ์ด๊ธฐํ ๋๋ ๊ฒ์ด ์๋, c์ ๊ณ์ ๊ฐ์ด ์ถ๊ฐ๋์ด 20์ ์ถ๋ ฅํ๋ค. static์ ๊ทธํ์ผ๋ด์์ ์ฌ์ฉํ๋ ์ ์ญ๋ณ์ ์ง์ ๊ตฌ๋ฌธ์ด๋ค.
```
์ฌ์ฉ์์
int a=8; // ์ ์ญ๋ณ์:: ์ปดํ์ผ,๋งํน๊ณผ์ ์์ ๋ฐ์ดํฐ์์ญ
int main() { // ๋ฉ์ธํจ์:: runtime์ ์คํ์์ญ
int b = 1; // ์ง์ญ๋ณ์:: runtime์ ์คํ์์ญ
for(int i=0; i<20; i++){
static int c=0 (์ด ์ฝ๋๋ 1๋ฒ๋ง ์คํ)
int c++;
}
return 0;
}
```
## ๋ฐฐ์ด ์์ฑ ์๋ฌ
```
int x;
cin >> x;
int arr[x];
```
์ ๊ฐ์ ์ ์ธ๋ฌธ์ ์ ์์ ์ผ๋ก ์คํ๋์ง ์๋๋ค. ์๋ํ๋ฉด, ์๋ arr\[x\]๋ ์คํ ์์ญ์ ๋ค์ด๊ฐ์ด์ผ ํ๋, ์คํ์ ๋ฐฐ์ด์ ํฌ๊ธฐ๋ฅผ ๋์ ์ผ๋ก ํ ๋น๋ฐ๋๊ฒ์ด ๋ถ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ด๋ค.
๋ฐ๋ผ์, ๋์ ์ธ ํฌ๊ธฐ์ ๋ฐฐ์ด์ ์์ฑํ๊ณ ์ถ๋ค๋ฉด, new๋ฅผ ํตํด ํ์ ์ด์ฉํด์ผ ํ๋ค. ๋จ, **ํฌ์ธํฐ๋ฅผ ๋ฐ๋์ ์ญ์ **ํด์ผํ๋ค.
```
int *arr = new int[x]; // ํ์์ ๋ฐฐ์ด๊ณต๊ฐ์ ์์ฑํด ๊ทธ ์ฃผ์๋ฅผ arrํฌ์ธํฐ์ ์ ์ฅ
delete arr[];
```
## ๋๋ฒ๊น
๋๋ฒ๊น
์ด๋? ์ค๋ฅ๋ฅผ ๊ฒ์ถํ๋ ๊ณผ์ ์ ์๋ฏธํ๋ค.
๋๋ฒ๊น
์ ์์ํ๋ ค๋ฉด vscode์ ์คํ์ฐฝ์์ F9๋ฅผ ํตํด ์ค๋จ์ (๊ฒ์ฌํ ๋ฒ์)๋ฅผ ์ค์ ํ ํ F5๋ฅผ ํตํด ๋๋ฒ๊น
์ ์์ํ๋ฉด ๋๋ค. ์ด๋ ์ฝ๋ ์ผ์ชฝ์ ํด๋ฆญํ๋ฉด ์ค๋จ์ ์ด ์์ฑ๋๋ค.
(๋ง์ฝ, ๋๋ฒ๊น
์์ด exeํ์ผ์ ์คํํ๊ณ ์ถ๋ค๋ฉด, ctrl+F5๋ฅผ ๋๋ฅด๋ฉด ๋๋ค.)
๋๋ฒ๊น
๋ชจ๋๋ฅผ ๋ฒ์ด๋๊ณ ์ถ๋ค๋ฉด ๋นจ๊ฐ์์ ์ ๋ถ ๋๋ฌ ์์๋ฉด ์๋ ์ฐฝ์ผ๋ก ๋์์จ๋ค.
์ค๋จ์ ์ด๋? ์ด๋ค ์ ๊น์ง๋ง ์ผ๋จ ์คํํ๋ค์ ์ค๋จํ๋ ๊ฒ์ ์๋ฏธํ๋ค.
๋๋ฒ๊น
๋ชจ๋์์๋ ์ผ์ชฝ์ ๋ค์์ ํญ๋ชฉ์ด ๋ํ๋๋ค.
1. ๋ณ์(์ง์ญ, ์ ์ญ)
2. ์กฐ์ฌ์(๊ด์ฌ์๋ ๋ณ์๋ฅผ ์ง์ ํ ์ ์๋ค. ๋ํ, ๊ฐ๋จํ ๊ฒ์ฆ์์๋ ์ถ๊ฐ๊ฐ๋ฅ)
3. ํธ์ถ์คํ(ํจ์๊ฐ ์ด๋ค ์์๋ก ์คํ๋์๋์ง ํ์ธ๊ฐ๋ฅ, ์ค๋จ์ ์ผ๋ก ์ ์ด)
#### ๋๋ฒ๊น
์์์ ์ด

์์ธก์๋ ์์๊ฐ์ ์์ด์ฝ์ด ๋ํ๋๋ค. ๊ฐ ์์ด์ฝ ์์๋๋ก ๊ฐ๊ฐ,
1. ๋ค์์ค๋จ์ ๊น์ง ์คํ
2. ์ฝ๋๋ฅผ 1์ค์ฉ ์คํํ๋ฉฐ ์ค๋ฅ์ฐพ๊ธฐ(๋จ, ํจ์๋ ๋ฌด์)
3. ์ฝ๋๋ฅผ 1์ค์ฉ ์คํํ๋ฉฐ ์ค๋ฅ์ฐพ๊ธฐ(ํจ์๋ ์คํํ๋ฉฐ, ํจ์์์น๋ก ์ด๋ํ 1์ค์ฉ ์คํ)
4. 3๋ฒ์ค ํจ์ ํ์ถํ๊ณ ๋ฉ์ธํจ์๋ก ๋์๊ฐ๊ธฐ ์ด๋ค.
#### ๋๋ฒ๊น
๋์ ํ์ฉ ์
์๋์ ๊ฐ์ ์ฝ๋๊ฐ ์กด์ฌํ๋ค.
```
int main() {
int t;
for(int i=0; i<t; i++){
static int c=0 (์ด ์ฝ๋๋ 1๋ฒ๋ง ์คํ)
int c++;
}
return 0;
}
```
์ ์ฝ๋์์ ์ฐ๋ฆฌ๋ t๊ฐ์ ์์ ์๋ค.
์ด๋ฐ t๊ฐ์ ์ด๋ค ์ ์๋ฅผ =์ ํตํด ํ๋ํ๋ ์ฝ๋๋ฅผ ๋ฐ๊ฟ๊ฐ๋ฉฐ ์
๋ ฅํด ํ
์คํธ ํ์ง์๊ณ ๋๋ฒ๊น
๋ชจ๋์์ t์ ์ ์๋ฅผ ๋ฃ์ด ์ด๋ค๋ฐฉ์์ผ๋ก ์ฒ๋ฆฌ๋๋์ง ํ์ธํ ์ ์๋ค.
```
int main() {
int t;
for(int i=0; i<t; i++){
static int c=0;
c++;
};
}
```
์๊ฐ์์ t๋ ์ด๋ค ๊ฐ์ผ๋ก ์ด๊ธฐํ ํ์ง ์์๊ธฐ ๋๋ฌธ์ garbege๊ฐ์ด ๋ค์ด๊ฐ๋ค. ๋ง์ฝ garbege๊ฐ์ด 5๋ผ๋ฉด 5๋ฒ for๋ฌธ์ด ์คํ๋์ด c๋ 5๊ฐ๋๋ค.
์ด๋ ๋๋ฒ๊น
๋ชจ๋์์ int t์ดํ for๋ฌธ์์ ์ค๋จ์ ์ ๊ฑด๋ค, ์ผ์ชฝ ๋ก์ปฌ๋ณ์ t๊ฐ์ 3์ผ๋ก ์์ ํ๋ค๋ฉด ์ด๋ป๊ฒ ๋ ๊น?
๋ฐ๋ณต๋ฌธ์ด 3๋ฒ ์คํ๋๋ค. ๋งค์ฐ๋งค์ฐ ์ ๊ธฐํ ๊ธฐ๋ฅ์ด๋ค!.
#### ์กฐ๊ฑด๋ฌธ์ผ๋ก ๋๋ฒ๊น
์ ์ดํ๊ธฐ
๋ง์ฝ for๋ฌธ์ t๊ฐ 100์ด๋ผ๋ฉด 50๋ฒ์งธ ์คํ ์ค์ '50๋ฒ์งธ ์คํ์ค์
๋๋ค'๊ฐ ์ ์ ์ถ๋ ฅ๋๋์ง ์ด๋ป๊ฒ ํ์ธํ ๊น? 50๋ฒ๋ง ํด๋ฆญํ ๊น? ๋
ธ๊ฐ๋ค์ง๋ง ํ ๋งํ๋ค.
๋ง์ฝ 500๋ฒ์ด๋ผ๋ฉด ์ด๋ป๊ฒ ์ฒ๋ฆฌํ๊ฒ ๋๊ฐ?
์ด๋ฅผ ์ํด ์ค๋จ์ ์ ํน์ ์กฐ๊ฑด์์ ์คํ๋๊ฒ ํ ์ ์๋ค. ์ค๋จ์ ์์ ์ฐํด๋ฆญํ ์ค๋จ์ ํธ์ง์ ํด๋ฆญํ๋ค. ์ด๋ ์กฐ๊ฑด์ i===500์ผ๋ก ๋ฐ๊พธ๋ฉด i===500๋ถํฐ ์คํํ ์ ์๋ค.
```
#include <iostream>
using namespace std;
int main() {
int t;
for(int i=0; i<t; i++){
static int c=0;
c++;
};
}
```

## ํ๊ธ ์ถ๋ ฅํ๊ธฐ
ํ๊ธ์ด ์ถ๋ ฅ๋ ๊นจ์ง๋ค๋ฉด ์ธ์ฝ๋ฉ ์๋ฌ๋ผ๊ณ ํ๋ค.
์ด๋ฅผ UTF-8์ด๋, korean์ผ๋ก ๋ณ๊ฒฝํ๋ฉด ํด๊ฒฐํ ์ ์๋ค.
## using namespace std;
๋งํน ๊ณผ์ ์์ ์ฌ๋ฌ๊ฐ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฝ๋๋ฅผ ์ปดํ์ผ๋ฌ๊ฐ ๋ค์ด๋ฐ๋ค ๋ณด๋ฉด, ์ด๋ฆ์ ์ค๋ณต๊ฐ์ด ์๊ฒจ ์ด๋ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์์ผํ ์ง ์ปดํ์ผ๋ฌ๊ฐ ๋ชจ๋ฅด๋ ๊ฒฝ์ฐ๊ฐ ์กด์ฌํ๋ค.
์ด๋ฐ ์ด๋ฆ ์ค๋ณต ํ์์ ๋ง๊ธฐ์ํด ์ฌ์ฉํ๋ ๊ฒ์ด name space์ด๋ค. ๋ํ์ ์ธ ํ์ค C++ name space๋ก std๊ฐ ์กด์ฌํ๋ค.
์ฌ์ฉ ์์)
1. std๋ผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ ค๋ฉด, std::cout์ฒ๋ผ ๊ฐ์ ธ์ค๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ช
์ ์ฌ์ฉํ๋ ค๋ ํจ์ ์์ ๋ถ์ฌ ์จ์ผ๋ง ํ๋ค.
1. using std::cout ๊ณผ ๊ฐ์ด using์ ์ฌ์ฉํ ๊ฒฝ์ฐ, cout์ด๋ผ๋ ํจ์์ ํํด์ std::๋ผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ช
์ ์๋ตํ ์ ์๋ค.
2. using namespace std;์ ๊ฐ์ด namespace๊ตฌ๋ฌธ์ ์ฌ์ฉํด์ฃผ๋ฉด, ๋ชจ๋ std๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ํด std::๋ฅผ ์๋ตํ ์ ์๋ค.
๋จ, std์ ์กด์ฌํ๋ ํจ์์ ์์ ์ด ๋ง๋ ํจ์๋ช
์ด ์ค๋ณต๋์ด์ ์๋๋ค.
3. \#include \<iostream\>
using name space std;
-\> cout๋ฟ ์๋๋ผ, cin๋ฑ ๋ชจ๋ ์
์ถ๋ ฅ ๊ด๋ จ ํจํค์ง๋ ์ฌ์ฉํ๊ธฐ ์ํด iostream์ ์ฌ์ฉํ๋ค.
[](https://velog.io/@flyjunu/posts)
[๋ฐ์ค์ฐ](https://velog.io/@flyjunu/posts)
DB๊ฐ ์ข์์
ํ๋ก์ฐ
[์ด์ ํฌ์คํธ chapter 6 ํจ์ ์ค๋ณต๊ณผ static ๋ฉค๋ฒ](https://velog.io/@flyjunu/chapter-6-%ED%95%A8%EC%88%98-%EC%A4%91%EB%B3%B5%EA%B3%BC-static-%EB%A9%A4%EB%B2%84)
[๋ค์ ํฌ์คํธ chapter 7 ํ๋ ๋์ ์ฐ์ฐ์ ์ค๋ณต](https://velog.io/@flyjunu/chapter-7-%ED%94%84%EB%A0%8C%EB%93%9C%EC%99%80-%EC%97%B0%EC%82%B0%EC%9E%90-%EC%A4%91%EB%B3%B5)
#### 0๊ฐ์ ๋๊ธ
๋๊ธ ์์ฑ |
| Readable Markdown | null |
| ML Classification | |
| ML Categories | null |
| ML Page Types | null |
| ML Intent Types | null |
| Content Metadata | |
| Language | null |
| Author | null |
| Publish Time | not set |
| Original Publish Time | 2025-10-20 01:37:25 (6 months ago) |
| Republished | No |
| Word Count (Total) | 820 |
| Word Count (Content) | 767 |
| Links | |
| External Links | 0 |
| Internal Links | 8 |
| Technical SEO | |
| Meta Nofollow | No |
| Meta Noarchive | No |
| JS Rendered | No |
| Redirect Target | null |
| Performance | |
| Download Time (ms) | 1,100 |
| TTFB (ms) | 922 |
| Download Size (bytes) | 22,093 |
| Shard | 105 (laksa) |
| Root Hash | 10166624061664201905 |
| Unparsed URL | io,velog!/@flyjunu/chapter-1-c-%EC%BB%B4%ED%8C%8C%EC%9D%BC s443 |