์›์ธ

- ํŒŒ์ผ์ด ์—†๋Š” ๋””๋ ‰ํ† ๋ฆฌ์— ๋“ค์–ด์™€ ์žˆ์—ˆ์Œ

- ๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ถ„(ํŒŒ์ผ, ๋””๋ ‰ํ† ๋ฆฌ ์ด๋ฆ„)

- ์•„๋‹ˆ๋ฉด โ†“ ์ฐธ๊ณ 

https://digndig.kr/bash/2014/11/20/ubuntu-bash-no-such-file-or-directory.html

 

DIGNDIG

๐Ÿ“š [Bash]ํŒŒ์ผ์ด ์žˆ๋Š”๋ฐ ๋ชป์ฐพ๋Š”๋‹ค๊ณ  ๋‚˜์˜ฌ๋•Œ -bash : [command] : No such file or directory Category: Bash | ๐Ÿ“… November 20, 2014 ๋””๋ ‰ํ† ๋ฆฌ ์•ˆ์— ์‹คํ–‰ ํŒŒ์ผ์ด ์žˆ์Œ์—๋„ ์ฐพ์ง€ ๋ชปํ•˜๊ณ  ์‹คํ–‰๋˜์ง€ ์•Š์„๋•Œ -bash: [์‹คํ–‰ํ•  ํŒŒ

digndig.kr

 

ํ•ด๊ฒฐ

cd ..  ๋กœ ์ƒ์œ„ ๋””๋ ‰ํ† ๋ฆฌ ์ด๋™ ํ›„

ls ๋กœ ํ•˜์œ„ ๋””๋ ‰ํ† ๋ฆฌ ํŒŒ์•…

 

 

 

cd ๋ช…๋ น์–ด๋กœ ์†Œ์Šค ํŒŒ์ผ์ด ์žˆ๋Š” ์œ„์น˜๋กœ ์ด๋™

gcc ์‹คํ–‰ ์„ฑ๊ณต

๋ฐ˜์‘ํ˜•

https://www.inflearn.com/course/%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C-%EA%B3%B5%EB%A3%A1%EC%B1%85-%EC%A0%84%EA%B3%B5%EA%B0%95%EC%9D%98/unit/65271?tab=curriculum 

 

ํ•™์Šต ํŽ˜์ด์ง€

 

www.inflearn.com

โ–  ํ”„๋กœ์„ธ์Šค๋Š” ๋…๋ฆฝ์ ์œผ๋กœ๋‚˜ cooperatingํ•˜๋ฉด์„œ ๋™์‹œ์— ์‹คํ–‰๋  ์ˆ˜ ์žˆ์Œ

ใ€€โ€ข ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์™€ ๋ฐ์ดํ„ฐ๋ฅผ ์‰์–ดํ•˜์ง€ ์•Š์Œ : ๋…๋ฆฝ์  ํ”„๋กœ์„ธ์Šค

ใ€€โ€ข ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์— ์˜ํ–ฅ์„ ์ฃผ๊ณ ๋ฐ›์Œ, ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์™€ ๋ฐ์ดํ„ฐ๋ฅผ ์‰์–ด ํ•จ : cooperating ํ”„๋กœ์„ธ์Šค

โ–  IPC: Inter-ํ”„๋กœ์„ธ์Šค ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜ (ํ”„๋กœ์„ธ์Šค๊ฐ„ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜)

ใ€€โ€ข Cooperating ํ”„๋กœ์„ธ์Šค๋Š” IPC๋ฉ”์ปค๋‹ˆ์ฆ˜์ด ํ•„์š”ํ•จ.

ใ€€ใ€€- ๋ฐ์ดํ„ฐ๋ฅผ ๊ตํ™˜ํ•  ์ˆ˜ ์žˆ์Œ(๋ฐ์ดํ„ฐ๋ฅผ ์ƒŒ๋“œ, ๋ฆฌ์‹œ๋ธŒ ํ•  ์ˆ˜ ์žˆ์Œ)

โ–  IPC ๋‘๊ฐ€์ง€ ๊ธฐ๋ณธ๋ชจ๋ธ

ใ€€โ€ข shared memory(๋ฉ”๋ชจ๋ฆฌ ์‰์–ด)

ใ€€โ€ข message passing(๋ฉ”์„ธ์ง€ ์ „๋‹ฌ)

 

Figure 3.11 ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜ models. (a) Shared memory. and (b) Message Passing.

 

โ–  ์ƒ์‚ฐ์ž-์†Œ๋น„์ž ๋ฌธ์ œ

ใ€€โ€ข cooperating ํ”„๋กœ์„ธ์Šค๋ฅผ ์„ค๋ช…, cooperating ํ”„๋กœ์„ธ์Šค์˜ ๊ณตํ†ต๋œ ํŒจ๋Ÿฌ๋‹ค์ž„

โ–  Producer-Consumer Problem:

ใ€€โ€ข ์ƒ์‚ฐ์ž๊ฐ€ ์ •๋ณด๋ฅผ ์ƒ์‚ฐํ•˜๊ณ  ์†Œ๋น„์ž๊ฐ€ ๊ทธ ์ •๋ณด๋ฅผ ์†Œ๋น„ํ•จ.

ใ€€โ€ข ์˜ˆ๋ฅผ ๋“ค์–ด,

ใ€€ใ€€- ์–ด๋–ค ์ปดํ”Œ๋ผ์ด์–ด๊ฐ€ ์–ด์…ˆ๋ธ”๋ฆฌ ์ฝ”๋“œ๋ฅผ ์ƒ์‚ฐํ•˜๊ณ , ์–ด์…ˆ๋ธ”๋Ÿฌ๊ฐ€ ๊ทธ๊ฒƒ์„ ์†Œ๋น„ํ•จ.

ใ€€ใ€€- ์–ด๋–ค ์›น ์„œ๋ฒ„๊ฐ€ HTML ํŒŒ์ผ์„ ์ƒ์‚ฐํ•˜๊ณ , ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์†Œ๋น„ํ•จ.

 

3.5 IPC ์‰์–ด๋“œ ๋ฉ”๋ชจ๋ฆฌ ์‹œ์Šคํ…œ

โ–  ์‰์–ด๋“œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•จ์œผ๋กœ์จ :

ใ€€โ€ข ์ƒ์‚ฐ์ž์™€ ์†Œ๋น„์ž๊ฐ€ ๋™์‹œ์— runํ•  ์ˆ˜ ์žˆ์Œ.

ใ€€โ€ข buffer๋ฅผ ์‚ฌ์šฉ : ์ƒ์‚ฐ์ž๋Š” ๋ฒ„ํผ๋ฅผ ์ฑ„์šฐ๊ณ , ์†Œ๋น„์ž๋Š” ๊ทธ ๋ฒ„ํผ๋ฅผ ๋น„์šด๋‹ค.

ใ€€โ€ข ์‰์–ด๋“œ ๋ฉ”๋ชจ๋ฆฌ๋Š” ์ƒ์‚ฐ์ž์™€ ์†Œ๋น„์ž ํ”„๋กœ์„ธ์Šค๊ฐ€ ๊ณต์œ ํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ์˜ ํ•œ ๋ถ€๋ถ„ ์ž„.

โ–  ์‰์–ด๋“œ ๋ฒ„ํผ์˜ ์ •์˜

ใ€€โ€ข ์ƒ์‚ฐ์ž์™€ ์†Œ๋น„์ž ํ”„๋กœ์„ธ์Šค๊ฐ€ ๊ณต์œ ํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ์˜ ์˜์—ญ์— ์žˆ์Œ.

Figure 3.12 The  producer   ํ”„๋กœ์„ธ์Šค  using shared memory.
Figure 3.13 The  consumer   ํ”„๋กœ์„ธ์Šค  using shared memory.

โ–  ์‰์–ด๋“œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ด์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•

ใ€€โ€ข ํ”„๋กœ์„ธ์Šค๋“ค์€ ๋ฉ”๋ชจ๋ฆฌ์ƒ์˜ ์˜์—ญ์„ ๊ณต์œ ํ•ด์•ผํ•˜๊ณ , ๊ณต์œ ๋œ ๋ฉ”๋ชจ๋ฆฌ์— ์ ‘๊ทผํ•˜๊ณ  ์กฐ์ž‘ํ•˜๊ธฐ ์œ„ํ•œ ์ฝ”๋“œ(์‘์šฉํ”„๋กœ๊ทธ๋žจ์˜ ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ๋ช…์‹œ์ ์œผ๋กœ ์ž‘์„ฑํ•œ)๊ฐ€ ์žˆ์–ด์•ผ ํ•จ.

 

3.6 IPC in Message-Passing Systems

โ–  ๋ฉ”์‹œ์ง€ ํŒจ์‹ฑ:

ใ€€โ€ข O/S๊ฐ€ cooperating ํ”„๋กœ์„ธ์Šค์— ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•จ

ใ€€- ๋ฉ”์‹œ์ง€ ํŒจ์‹ฑ ๋„๊ตฌ๋ฅผ ์ด์šฉํ•ด์„œ ์„œ๋กœ ์˜์‚ฌ์†Œํ†ตํ•จ

โ–  ๋ฉ”์‹œ์ง€ ํŒจ์‹ฑ ๋„๊ตฌ์˜ ๋‘๊ฐ€์ง€ ๋™์ž‘: (๋ฉ”์„ธ์ง€) ์ƒŒ๋“œ / ๋ฆฌ์‹œ๋ธŒ

Figure 3.14 The  producer   process  using message passing.

 

Figure 3.15 The  consumer   ํ”„๋กœ์„ธ์Šค  using message passing.

โ–  ์˜์‚ฌ์†Œํ†ต ๋งํฌ:

ใ€€โ€ข ๋งŒ์•ฝ ๐‘ƒ์™€ ๐‘„ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜ ํ•˜๊ณ  ์‹ถ์œผ๋ฉด,

ใ€€ใ€€- ์„œ๋กœ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด๊ณ  ๋ฐ›์•„์•ผ ํ•จ.

ใ€€โ€ข ์ด comm. link(์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜ ๋งํฌ)๋Š” ๋‹ค์–‘ํ•œ ๋ฐฉ์‹์œผ๋กœ ์‹œํ–‰๋  ์ˆ˜ ์žˆ๋‹ค.

ใ€€ใ€€- ์ง/๊ฐ„์ ‘ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜.

ใ€€ใ€€- ๋™์‹œ ๋ฐœ์ƒ์ /๋น„๋™์‹œ๋ฐœ์ƒ์  ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜

ใ€€ใ€€- ์ž๋™์  / ๋ช…์‹œ์  ๋ฒ„ํผ๋ง

โ–  ์ง์ ‘ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜์—์„œ

ใ€€โ€ข communicate๋ฅผ ์›ํ•˜๋Š” ๊ฐ ํ”„๋กœ์„ธ์Šค๋Š” ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜์˜ ์ˆ˜์ทจ์ž๋‚˜ ๋ฐœ์‹ ์ž๋ฅผ ๋ช…์‹œํ•ด์•ผ ํ•จ.

ใ€€โ€ข ์ด ๋ฐฉ์‹์˜ ๊ธฐ์ดˆ๋Š”

ใ€€ใ€€- send(๐‘ƒ, message) โ€“ send a message to ํ”„๋กœ์„ธ์Šค ๐‘ƒ.

ใ€€ใ€€- receive(๐‘„, message) โ€“ receive a message from ํ”„๋กœ์„ธ์Šค ๐‘„.

 

โ–  ์ง์ ‘์  ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜ ๋งํฌ์˜ ํŠน์„ฑ:

ใ€€โ€ข ๋งํฌ๋Š” ์ž๋™์ ์œผ๋กœ ํ˜•์„ฑ ๋จ.

ใ€€โ€ข ํ•œ ๋งํฌ๋Š” ์ •ํ™•ํ•˜๊ฒŒ ๋‘ ํ”„๋กœ์„ธ์Šค ๊ฐ„์˜ ์—ฐ๊ฒฐ ์ž„

ใ€€โ€ข ๊ฐ ์Œ์˜ ํ”„๋กœ์„ธ์Šค๋“ค ์‚ฌ์ด์—๋Š” ํ•˜๋‚˜์˜ ๋งํฌ๋งŒ ์กด์žฌ ํ•จ

 

โ–  ๊ฐ„์ ‘์  ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜

ใ€€โ€ข ๋ฉ”์‹œ์ง€๋Š” mailbox๋“ค์ด๋‚˜ ํฌํŠธ๋“ค์„ ์ด์šฉํ•ด์„œ ๋ณด๋‚ด๊ณ  ๋ฐ›์•„์ง.

ใ€€โ€ข A mailbox (ํฌํŠธ ๋ผ๊ณ ๋„ ํ•จ)

ใ€€ใ€€- can be viewed abstractly as an object

ใ€€ใ€€- ํ”„๋กœ์„ธ์Šค๋“ค์— ์˜ํ•ด์„œ ๋ฉ”์‹œ์ง€๋ฅผ ๋„ฃ์„ ์ˆ˜ ์žˆ๋Š” ๊ณณ

ใ€€ใ€€- ๋ฉ”์‹œ์ง€๋“ค์ด ์‚ญ์ œ ๋  ์ˆ˜ ์žˆ๋Š” ๊ณณ

ใ€€โ€ข ์ด ์ž‘๋™์˜ ๊ธฐ๋ณธ์€

ใ€€ใ€€- send(๐ด, message) โ€“ send a message to mailbox ๐ด.

ใ€€ใ€€- receive(๐ด, message) โ€“ receive a message from mailbox ๐ด.

 

โ–  ๊ฐ„์ ‘์  ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜ ๋งํฌ์˜ ํŠน์„ฑ:

ใ€€โ€ข ์Œ์„ ์ด๋ฃจ๋Š” ํ”„๋กœ์„ธ์Šค๋“ค ๋ชจ๋‘๊ฐ€ ์‰์–ด๋“œ ๋ฉ”์ผ๋ฐ•์Šค๊ฐ€ ์žˆ์œผ๋ฉด ํ•œ ์Œ์˜ ํ”„๋กœ์„ธ์Šค๋“ค์— ์—ฌ๋Ÿฌ๊ฐœ์˜ ๋งํฌ๊ฐ€ ์ƒ๊ธธ ์ˆ˜ ์žˆ์Œ

ใ€€โ€ข ํ•œ ๋งํฌ๋Š” ๋‘ ๊ฐœ ์ด์ƒ์˜ ํ”„๋กœ์„ธ์Šค๋“ค์„ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์Œ

ใ€€โ€ข ๊ฐ ์Œ์˜ ํ”„๋กœ์„ธ์Šค๋“ค ์‚ฌ์ด์— ๋ช‡ ๊ฐœ์˜ ๋‹ค๋ฅธ ๋งํฌ๋“ค์ด ์กด์žฌํ•  ์ˆ˜ ์žˆ์Œ

ใ€€ใ€€- ๊ฐ ๋งํฌ๋Š” ๋Œ€์‘๋˜๋Š” ๋ฉ”์ผ๋ฐ•์Šค๊ฐ€ ํ•˜๋‚˜ ์žˆ์Œ

 

โ–  OS๋Š” ํ”„๋กœ์„ธ์Šค๊ฐ€ ์•„๋ž˜์˜ ๊ฒƒ๋“ค์„ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์ œ๊ณตํ•จ:

ใ€€โ€ข ์ƒˆ๋กœ์šด ๋ฉ”์ผ๋ฐ•์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ

ใ€€โ€ข ๋ฉ”์ผ๋ฐ•์Šค๋ฅผ ํ†ตํ•ด ๋ฉ”์‹œ์ง€๋ฅผ ์ฃผ๊ณ ๋ฐ›๊ธฐ

ใ€€โ€ข ๋ฉ”์ผ๋ฐ•์Šค๋ฅผ ์‚ญ์ œํ•˜๊ธฐ

 

โ–  ๋‹ค๋ฅธ ๋””์ž์ธ ์˜ต์…˜:

ใ€€โ€ข blocking or non-blocking: synchronous or asynchronous

ใ€€โ€ข Blocking send: ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›์„ ๋•Œ๊นŒ์ง€ ๋ฐœ์‹ ์ž๊ฐ€ ๋ง‰ํž˜(ex. ์š”๊ธˆ๋ถ€๊ณผ โ†๋™๊ธฐํ™” ํ•„์š” ์„œ๋น„์Šค)

ใ€€โ€ข Non-blocking send: ๋ฐœ์‹ ๊ธฐ๊ฐ€ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด๊ณ  ๋‹ค์Œ ํ”„๋กœ์„ธ์Šค ๊ณ„์† ์ง„ํ–‰

ใ€€โ€ข Blocking receive: ์ˆ˜์‹ ๊ธฐ๊ฐ€ ๋ฉ”์‹œ์ง€๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์„ ๋•Œ๊นŒ์ง€ ๋ฆฌ์‹œ๋ฒ„๊ฐ€ ๋ง‰ํž˜

ใ€€โ€ข Non-blocking receive: ์ˆ˜์‹ ๊ธฐ๊ฐ€ ์œ ํšจํ•œ ๋ฉ”์‹œ์ง€ ๋˜๋Š” null ๋ฉ”์‹œ์ง€๋ฅผ ํšŒ์ˆ˜ํ•จ

 
๋ฐ˜์‘ํ˜•
#include <stdio.h>
int main() {
	int a;
	int b;
	const int* pa = &a;

	*pa = 3;
	pa = &b;

	return 0;
}

const ๋กœ ๋ณ€ํ•˜์ง€ ์•Š๋Š” ์ƒ์ˆ˜๋ฅผ ์ •์˜ํ•œ ํ›„์— ๋‹ค๋ฅธ ๊ฐ’์„ ๋„ฃ์œผ๋ ค ํ• ๋•Œ ๋ฐœ์ƒ

๋ฐ˜์‘ํ˜•

| 2์ฐจ์› ๋ฐฐ์—ด |

- 2์ฐจ์› ๋ฐฐ์—ด์˜ ์ •์˜ :

(๋ฐฐ์—ด์˜ ํ˜•) (๋ฐฐ์—ด์˜ ์ด๋ฆ„) [?][?];

ex) int arr[3][2]; โ˜ž ๋ฐฐ์—ด์˜ ๊ฐ ์›์†Œ 3 ๊ฐœ๊ฐ€ ์›์†Œ๋ฅผ 2 ๊ฐœ ๊ฐ€์ง€๋Š” int ํ˜•์˜ ๋ฐฐ์—ด์ด๊ณ  ์ด๋ฆ„์€ arr ์ด๋‹ค.

int arr [3][2]; ๋ฐฐ์—ด์˜ ๊ตฌ์กฐ..?
์ผ์ฐจ์› ๋ฐฐ์—ด๊ณผ ์ด์ฐจ์› ๋ฐฐ์—ด์˜ ๋น„๊ต

- arr[m][n]; โ˜ž (m ๊ณผ n ์€ ์ž„์˜์˜ ์ •์ˆ˜๊ฐ’) mร—n ๊ฐœ์˜ ๋ณ€์ˆ˜(์›์†Œ)๋ฅผ ๊ฐ€์ง€๋Š” ๋ฐฐ์—ด

 

- 2 ์ฐจ์› ๋ฐฐ์—ด์ด๋‚˜ 1 ์ฐจ์› ๋ฐฐ์—ด ๋ชจ๋‘ ๋ฉ”๋ชจ๋ฆฌ ์ƒ์—์„œ ์—ฐ์†์ ์œผ๋กœ ์ญˆ๋ฅด๋ฅต ์กด์žฌํ•จ

  ex)

  ์˜ค๋ฅธ์ชฝ๊ณผ ๊ฐ™์ด 2์ฐจ์›์œผ๋กœ ์ƒ๊ฐํ•ด๋„ ๋จ

 

| 2 ์ฐจ์› ๋ฐฐ์—ด ์ •์˜ ํ•˜๊ธฐ |

- ๊ฐ€๋Šฅํ•œ 2์ฐจ์› ๋ฐฐ์—ด ๋ฐฉ๋ฒ•๋“ค

int arr[2][3] = {1, 2, 3, 4, 5, 6};
int arr[2][3] = {{1, 2, 3}, {4, 5, 6}};
int arr[][3] = {{4, 5, 6}, {7, 8, 9}};

- ๋ถˆ๊ฐ€๋Šฅํ•œ 2์ฐจ์› ๋ฐฐ์—ด ๋ฐฉ๋ฒ•

int arr[2][] = {{4, 5, 6}, {7, 8, 9}};

โˆต C ์—์„œ๋Š” ๋‹ค์ฐจ์› ๋ฐฐ์—ด์˜ ๊ฒฝ์šฐ ๋งจ ์•ž์˜ ํฌ๊ธฐ๋ฅผ ์ œ์™ธํ•œ ๋‚˜๋จธ์ง€ ํฌ๊ธฐ๋“ค์„ ์ •ํ™•ํžˆ ์ง€์ •ํ•ด์ค˜์•ผ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์Œ.

 

| 3 ์ฐจ์›, ๊ทธ ์ดํ›„ ์ฐจ์›์˜ ๋ฐฐ์—ด๋“ค |

- 3 ์ฐจ์›์˜ ๋ฐฐ์—ด์˜ ์ •์˜ : 2 ์ฐจ์› ๋ฐฐ์—ด๊ณผ ๊ฑฐ์˜ ๋™์ผํ•จ. (๊ทธ ์ดํ›„์˜ ์ฐจ์›๋“ค๋„ ๋งˆ์ฐฌ๊ฐ€์ง€)

(๋ฐฐ์—ด์˜ ํ˜•)(๋ฐฐ์—ด์˜ ์ด๋ฆ„)[x][y][z];  // ์—ฌ๊ธฐ์„œ x,y,z ๋Š” ๋ฐฐ์—ด์˜ ํฌ๊ธฐ

 

   *์‚ผ์ฐจ์› ๋ฐฐ์—ด์€ ์„ธ ๊ฐœ์˜ ๊ฐ’ (x,y,z) ์„ ํ†ตํ•ด์„œ ์›์†Œ์— ์ ‘๊ทผํ•˜๋ฉฐ,

     4 ์ฐจ์›, 5์ฐจ์›๋„ ๊ฐ™์Œ (4 ์ฐจ์› ๋ฐฐ์—ด์€ 4 ๊ฐœ์˜ ๊ฐ’ (x,y,z,w), 5 ์ฐจ์›์€ 5 ๊ฐœ) 

     โ˜ž n ์ฐจ์›์€ n ๊ฐœ์˜ ๊ฐ’์„ ํ†ตํ•ด์„œ ์›์†Œ์— ์ ‘๊ทผํ•˜๊ฒŒ ๋˜๋Š” ๊ฒƒ

 

https://modoocode.com/20

 

์”น์–ด๋จน๋Š” C ์–ธ์–ด - <11 - 2. C ์–ธ์–ด์˜ ์•„ํŒŒํŠธ2 (๊ณ ์ฐจ์›์˜ ๋ฐฐ์—ด)>

 

modoocode.com

 

๋ฐ˜์‘ํ˜•

๋ฐฐ์—ด(Array) : ์ปดํ“จํ„ฐ ๋ฉ”๋ชจ๋ฆฌ ์ƒ์— ๊ฐ™์€ ํ˜•(type)์˜ ๋ณ€์ˆ˜๋ฅผ ์—ฐ์†์ ์œผ๋กœ ์—ฌ๋Ÿฌ ๊ฐœ๋ฅผ ํ•œ ๊บผ๋ฒˆ์— ์ •์˜ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•

 

| ๋ฐฐ์—ด์˜ ๊ธฐ์ดˆ |

- ๋ณ€์ˆ˜ ์ •์˜ : 

(๋ณ€์ˆ˜์˜ ํ˜•) (๋ณ€์ˆ˜์˜ ์ด๋ฆ„);

- ๋ฐฐ์—ด ์ •์˜ : 

(๋ฐฐ์—ด์˜ ํ˜•) (๋ฐฐ์—ด์˜ ์ด๋ฆ„)[์›์†Œ ๊ฐœ์ˆ˜];

                     ๋˜๋Š” ๋ฐฐ์—ด์˜ํ˜• ๋ฐฐ์—ด์˜์ด๋ฆ„ [์›์†Œ๊ฐœ์ˆ˜] = { };  โ˜ž {}์•ˆ์˜ ๊ฐ’๋“ค์ด ์ˆœ์ฐจ์ ์œผ๋กœ ๊ฐ ์›์†Œ์— ๋“ค์–ด ๊ฐ

                            โ”” ๋ฐฐ์—ด์˜ ์ •์˜์—์„œ๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅ

                                ex)

[์›์†Œ๊ฐœ์ˆ˜] = { }; ๋กœ ์›์†Œ๋“ค์„ ์ •์˜ํ•˜๋ฉด ๋ฐฐ์—ด์˜ ํฌ๊ธฐ๋ฅผ ์ƒ๋žตํ•ด๋„ ์›์†Œ์˜ ๊ฐœ์ˆ˜์— ๋งž๊ฒŒ ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์•Œ์•„์„œ ๋ฐฐ์—ด์„ ์ •์˜ ํ•จ

 

[ ๋ฐฐ์—ด์—์„œ์˜ ์›์†Œ ์ ‘๊ทผ ]

- ๋ฐฐ์—ด์˜ n ๋ฒˆ์งธ ์›์†Œ๋Š” arr[n - 1] . ์ฆ‰ ๋ฐฐ์—ด์˜ ์ฒซ ๋ฒˆ์งธ ์›์†Œ๋Š” arr[0]

 

[ ๋ฐฐ์—ด์˜ ์œ„ํ—˜์„ฑ ]

- ๋ฐฐ์—ด์€ ํ•ด๋‹น ํƒ€์ž… ๋ณ€์ˆ˜๋“ค์˜ ๋‚˜์—ด์ž„. ๋ฉ”๋ชจ๋ฆฌ ์ƒ์— ๋ฐฐ์—ด์˜ ํฌ๊ธฐ์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ์—†์Œ.

- ๋ฐฐ์—ด์˜ ๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚˜๋Š” ๋ณ€์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๊ฑฐ๋‚˜, ์ •์˜ํ•˜๋ฉด ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ถˆ๋Ÿฌ์™€ ์ง€๊ฑฐ๋‚˜ ์†์ƒ๋  ์œ„ํ—˜์ด ์žˆ์Œ

 

ex) arr[10] = 3 ์œผ๋กœ ํ•˜๋ฉด ๋ฐฐ์—ด์ด ์•„๋‹Œ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ๊ฐ€ 3์œผ๋กœ ๋ฎ์–ด์จ์งˆ ์ˆ˜ ์žˆ์Œ

 

โ˜… ๋ฐฐ์—ด์˜ ์›์†Œ์— ์ ‘๊ทผํ•  ๋•Œ์—๋Š” ๋ฐ˜๋“œ์‹œ ํ•ด๋‹น ์›์†Œ์˜ ์œ„์น˜๊ฐ€ ๋ฐฐ์—ด์˜ ํฌ๊ธฐ ๋ณด๋‹ค ์ž‘์€์ง€ ํ™•์ธํ•ด์•ผ ํ•จ!

 

| ๋ฐฐ์—ด ๊ฐ€์ง€๊ณ  ๋†€๊ธฐ |

- scanf ("%d", &arr[i]); ํ˜•ํƒœ๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅ ํ•จ

- ๋ฐฐ์—ด์˜ ์›์†Œ๋ผ๋ฆฌ์˜ ์—ฐ์‚ฐ๋„ ๊ฐ€๋Šฅ ํ•จ

 

| ์†Œ์ˆ˜ ์ฐพ๋Š” ํ”„๋กœ๊ทธ๋žจ |

| ๋ฐฐ์—ด์˜ ์ค‘์š”ํ•œ ํŠน์ง• |

- C ์–ธ์–ด์— ์ฒ˜์Œ์— ๋ฐฐ์—ด์˜ ํฌ๊ธฐ๋ฅผ ๋ณ€์ˆ˜๋ฅผ ํ†ตํ•ด ์ •์˜ํ•  ์ˆ˜ ์—†๊ฒŒ ๊ทœ์ •ํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฐฐ์—ด์˜ ํฌ๊ธฐ๋Š” ๋ณ€์ˆ˜๋กœ ์ง€์ •ํ•  ์ˆ˜ ์—†๋‹ค.

   โ”– '๋™์  ํ• ๋‹น' ์ด๋ผ๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ์–ต์ง€๋กœ ํ•ด์„œ ์ •์˜ํ•  ์ˆ˜๋Š” ์žˆ์Œ.

โˆต ์ฒ˜์Œ ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ๋ฐฐ์—ด์„ ์ฒ˜๋ฆฌํ•  ๋•Œ ๋ฉ”๋ชจ๋ฆฌ ์ƒ์— ๊ณต๊ฐ„์„ ์žก์•„์•ผ ํ•˜๋Š”๋ฐ, ๊ณต๊ฐ„์˜ ํฌ๊ธฐ๊ฐ€ ๋ฐ˜๋“œ์‹œ ์ƒ์ˆ˜๋กœ ์ฃผ์–ด์ ธ์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ

| ์ƒ์ˆ˜ (Constant) |

- ์ƒ์ˆ˜๋Š” ๋ณ€์ˆ˜์˜ ์ •๋ฐ˜๋Œ€๋กœ ์ฒ˜์Œ ์ •์˜์‹œ ๊ทธ ๊ฐ’์ด ๋ฐ”๋กœ ์ฃผ์–ด์ง€๊ณ , ๊ทธ ๊ฐ’์ด ์˜์›ํžˆ ๋ฐ”๋€Œ์ง€ ์•Š์Œ

 

* ์ฒ˜์Œ ์ƒ์ˆ˜๋ฅผ ์ •์˜์‹œ ๊ฐ’์„ ์ •์˜ํ•ด ์ฃผ์ง€ ์•Š์œผ๋ฉด ์ด๋ ‡๊ฒŒ ๋œธ

* ๊ฐ’์„ ๋ฐ”๊พธ๋ ค๊ณ  ํ•˜๋ฉด ์˜ค๋ฅ˜ ๋ฐœ์ƒ ํ•จ.

- ์ƒ์ˆ˜๋กœ ์ •์˜ ํ•˜๋”๋ผ๋„ ๋ฐฐ์—ด์˜ ํฌ๊ธฐ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜๋Š” ์—†์Œ.

- ์ƒ์ˆ˜์˜ ์ •์˜ : 

 const (์ƒ์ˆ˜์˜ ํ˜•) (์ƒ์ˆ˜ ์ด๋ฆ„) = (์ƒ์ˆ˜์˜ ๊ฐ’);

 

| ์ดˆ๊ธฐํ™” ๋˜์ง€ ์•Š์€ ๊ฐ’ |

- ์ดˆ๊ธฐํ™” ๋˜์ง€ ์•Š์€(๊ฐ’์ด ์ง€์ •๋˜์ง€ ์•Š์€) ๋ณ€์ˆ˜๋Š” ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Œ

- ๋ฐฐ์—ด์€ ํŠน๋ณ„ํžˆ ์ดˆ๊ธฐํ™”ํ•˜์ง€ ์•Š์€ ์›์†Œ๋Š” 0์ด ๋“ค์–ด๊ฐ.

ex)

                                       ์ด๋ ‡๊ฒŒ ์ •์˜ํ•˜๋ฉด                                โ˜ž                           ์ปดํ“จํ„ฐ๋Š” ์ด๋ ‡๊ฒŒ ๋ฐ›์•„๋“ค์ž„

 

https://modoocode.com/18

 

์”น์–ด๋จน๋Š” C ์–ธ์–ด - <11 - 1. C ์–ธ์–ด์˜ ์•„ํŒŒํŠธ (๋ฐฐ์—ด), ์ƒ์ˆ˜>

 

modoocode.com

 

๋ฐ˜์‘ํ˜•

https://unicode-table.com/kr/sets/superscript-and-subscript-letters/

 

์œ„์ฒจ์ž์™€ ์•„๋ž˜ ์ฒจ์ž: แตƒ โ‚ แดฌ แต‡ แดฎ แถœ

Character sets. ์œ„์ฒจ์ž์™€ ์•„๋ž˜ ์ฒจ์ž: แตƒ โ‚ แดฌ แต‡ แดฎ แถœ แตˆ แดฐ แต‰ โ‚‘ แดฑ แถ  แถข แตธ แดด แถจ แดถ แถค แตข แดต แต แดท แถช แดธ แต แดน โฟ แดบ แต’ โ‚’ แดผ แต–

unicode-table.com

์œ— ์ฒจ์ž

โฐ ยน ยฒ ยณ โด โต โถ โท โธ โน

แตƒ แต‡ แถœ แตˆ แต‰ แถ  แถข แตธ แถจ แถค แต แถช แต โฟ แต’ แต– แต— แต˜ แต› แตก แถป
แดฌ แดฎ แดฐ แดฑ แดด แดถ แดต แดท แดธ แดน แดบ แดผ แดพ แดฟ แต€ แต แต‚ 


์•„๋ž˜ ์ฒจ์ž

โ‚€ โ‚ โ‚‚ โ‚ƒ โ‚„ โ‚… โ‚† โ‚‡ โ‚ˆ โ‚‰ โ‚Š โ‚‹ โ‚Œ โ‚ โ‚Ž

โ‚ โ‚‘ แตข โ‚’ แตฃ แตค แตฅ โ‚“ แตง

 

๋ฐ˜์‘ํ˜•

- intํ˜• ๋ณ€์ˆ˜์— doubleํ˜• ๋ณ€์ˆ˜๋ฅผ ๋„ฃ์œผ๋ฉด ๋ฐ์ดํ„ฐ ์†์‹ค์ด ์žˆ์„ ์ˆ˜ ์žˆ์Œ.

 

ex)

#include <stdio.h>
int main() {
  int a;
  double b;

  b = 2.4;
  a = b;

  printf("%d", a);
  return 0;
}

 

| ์ปดํ“จํ„ฐ๊ฐ€ ์‹ค์ˆ˜๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ์›๋ฆฌ |

์ปดํ“จํ„ฐ์˜ ์‹ค์ˆ˜ ํ‘œํ˜„์˜ ๋Œ€ํ‘œ์ ์ธ ๋‘ ๊ฐ€์ง€ ๋ฐฉ์‹

1. ์†Œ์ˆ˜์ (Fixed Point) ๋ฐฉ์‹

2. ๋ถ€๋™ ์†Œ์ˆ˜์ (Floating Point)๋ฐฉ์‹ : ์‚ฌ์šฉํ•˜๋Š” ๋Œ€๋ถ€๋ถ„์˜ ์ปดํ“จํ„ฐ๋Š” 99.9% ๋ถ€๋™ ์†Œ์ˆ˜์ ๋ฐฉ์‹์„ ์‚ฌ์šฉ

     โˆต๊ณ ์ • ์†Œ์ˆ˜์  ๋ฐฉ์‹๊ณผ ๋น„๊ตํ–ˆ์„ ๋•Œ ๊ฐ™์€ ์ˆ˜์˜ ๋น„ํŠธ๋งŒ ์‚ฌ์šฉํ•ด์„œ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ์ˆ˜์˜ ๋ฒ”์œ„๊ฐ€ ๋” ๋„“๊ธฐ ๋•Œ๋ฌธ

        โ”—๋ฒ”์œ„๊ฐ€ ๋„“๋‹ค : ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ์ž‘์€ ์ˆ˜์™€ ๊ฐ€์žฅ ํฐ ์ˆ˜์˜ ์ฐจ์ด๊ฐ€ ๋” ํฌ๋‹ค

          - ๋Œ€์‹  ๋ถ€๋™ ์†Œ์ˆ˜์  ๋ฐฉ์‹์€ ๊ณ ์ • ์†Œ์ˆ˜์  ๋ฐฉ์‹์— ๋น„ํ•ด์„œ ์ •๋ฐ€๋„๊ฐ€ ๋–จ์–ด์ง

  

| IEEE 754

 โ”— ๊ตญ์ œ์ „๊ธฐ์ „์ž๊ธฐ์ˆ ์žํ˜‘ํšŒ(IEEE) ์—์„œ 1985๋…„์— ํ‘œ์ค€ํ™”ํ•œ ๋ถ€๋™ ์†Œ์ˆ˜์  ๋ฐฉ์‹์„ ํ†ตํ•ด ์ˆ˜๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•

 

- ์ปดํ“จํ„ฐ ์ƒ์—์„œ ์†Œ์ˆ˜ ํ‘œํ˜„ ํ•˜๋Š” ๋ฒ• : 

* f : ๊ฐ€์ˆ˜, b : ๋ฐ‘, e : ์ง€์ˆ˜

    ์ปดํ“จํ„ฐ ์ƒ์—์„œ๋Š” ์ด์ง„์ฒด๊ณ„๋ฅผ ์ด์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— b = 2 ๋กœ ๊ณ ์ •

    ๋”ฐ๋ผ์„œ, ์†Œ์ˆ˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๊ด€ํ•  ๋•Œ f, e ์˜ ๊ฐ’๋งŒ ์ €์žฅํ•˜๋ฉด ๋จ. ๊ทธ๋ฆฌ๊ณ  ๋งจ ์•ž์— ๋ถ€ํ˜ธ ๋น„ํŠธ๋ฅผ ์œ„ํ•ด์„œ 1 ๋น„ํŠธ ๋” ์“ฐ๊ฒŒ ๋จ.

 

IEEE 754&nbsp;์—์„œ ์ •์˜ํ•œ ๋ถ€๋™ ์†Œ์ˆ˜์  ํ‘œํ˜„

 

 

| ์†Œ์ˆ˜์˜ 10 ์ง„๋ฒ• - 2 ์ง„๋ฒ• ์ง„๋ฒ• ๋ณ€ํ™˜ 

[2์ง„๋ฒ• โ†’ 10์ง„๋ฒ•]

ex) 10010.1011โ‚‚ = 18.6875

     

      1 X 2โด + 0 X 2ยณ + 0 X 2ยฒ + 1 X 2ยน + 0 X 2โฐ + 1 X 2โปยน + 0 X 2โปยฒ + 1 X 2โปยณ + 1 X 2โปโด

      = 18 + 0.5 + 0.125 + 0.0625

      = 18.6875

 

[10์ง„๋ฒ• โ†’ 2์ง„๋ฒ•]

ex) โˆ’118.625

      = โˆ’1110110โ‚‚ โˆ’ 0.625

      = โˆ’1110110โ‚‚ โˆ’ 2โปยน โˆ’ 2โปยณ

      = โˆ’1110110.101โ‚‚

 

2 ์ง„๋ฒ• ์œผ๋กœ ํ‘œ์‹œ๋œ ๋ชจ๋“  ์†Œ์ˆ˜๋“ค์€ ๋ชจ๋‘ ์‹ญ์ง„๋ฒ•์œผ๋กœ ๋ณ€ํ™˜์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. 

 ๋ชจ๋“  10 ์ง„๋ฒ•์œผ๋กœ ํ‘œํ˜„๋œ ์ˆ˜๋Š” 2 ์ง„๋ฒ•์œผ๋กœ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์ปดํ“จํ„ฐ๋Š” ์ด๋ ‡๊ฒŒ ๋ฌดํ•œํžˆ ๊ธธ๊ฒŒ ๋‚˜ํƒ€๋‚˜๋Š” ๋ฌดํ•œ ์†Œ์ˆ˜๋“ค์„ ๋ชจ๋‘ ๋ฉ”๋ชจ๋ฆฌ์— ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ผ์ • ๋ถ€๋ถ„๋งŒ ์ž˜๋ผ์„œ ๋ฉ”๋ชจ๋ฆฌ์— ๋ณด๊ด€ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ํ•„์—ฐ์ ์œผ๋กœ ์˜ค์ฐจ๊ฐ€ ๋ฐœ์ƒํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 

โ€‹| IEEE 754 ๋ฐฉ์‹์œผ๋กœ ์†Œ์ˆ˜ ์ €์žฅํ•˜๊ธฐ

โ€ป ๋ฐ”์ด์–ด์Šค ์ฒ˜๋ฆฌ ์ด์œ  : ์ง€์ˆ˜๊ฐ€ ์–ธ์ œ๋‚˜ ์–‘์ˆ˜๊ฐ€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ

     ex) 0.625 ๋Š” ์ด์ง„์ˆ˜๋กœ 0.101 ์ธ๋ฐ ์ •๊ทœํ™” ์‹œ, ์™ผ์ชฝ์œผ๋กœ ์‰ฌํ”„ํŠธ๊ฐ€ 1 ๋ฒˆ ์ด๋ฏ€๋กœ ์ง€์ˆ˜๊ฐ€ ์Œ์ˆ˜(-1) ๊ฐ€ ๋จ
     - ๋ฌด์กฐ๊ฑด ์–‘์ˆ˜๋กœ ๊ฐ’์„ ์ง‘์–ด๋„ฃ๋Š” ๊ฒƒ์ด ์ปดํ“จํ„ฐ ์ž…์žฅ์—์„œ ํฌ๊ธฐ๋ฅผ ๋น„๊ตํ•˜๊ธฐ๊ฐ€ ์ˆ˜์›”ํ•˜๊ธฐ ๋•Œ๋ฌธ์—

       ์ •์ˆ˜ ํ‘œํ˜„ํ•˜๋“ฏ์ด 2 ์˜ ๋ณด์ˆ˜ํ‘œํ˜„๋ฒ•์œผ๋กœ ์ง€์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ด์ง€ ์•Š์Œ.

โ†“

์ฆ‰, -118.625๋Š” ์ปดํ“จํ„ฐ์— 11000010111011010100000000000000โ‚‚ ๋กœ ์ €์žฅ ๋จ

 

์ •์ƒ์ ์ด์ง€ ์•Š๋Š” ์ˆ˜๋ฅผ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•ด์„œ IEEE 754 ์—์„œ ์ •ํ•œ&nbsp; ๊ทœ์น™

[๋น„์ •์ƒ ์ˆ˜ (Denormalized number)]

- ๋น„์ •์ƒ ์ˆ˜์˜ ๊ฒฝ์šฐ 2โปยนยฒโท ๋ณด๋‹ค๋„ ์ž‘์•„์„œ ์ง€์ˆ˜ ๋ถ€๋ถ„์— ๋ฐ”์ด์–ด์Šค ์ฒ˜๋ฆฌ๋ฅผ ํ•ด๋„ 1 ์ด์ƒ์ด ๋˜์ง€ ์•Š๋Š” ์ˆ˜๋“ค

   => 1.(๊ฐ€์ˆ˜ ๋ถ€๋ถ„) X 2โปยนยฒโท์˜ ํ˜•ํƒœ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์—†์Œ. ๋Œ€์‹ , 0.(๊ฐ€์ˆ˜ ๋ถ€๋ถ„) X 2โปยนยฒโท์˜ ํ˜•ํƒœ๋กœ ํ•ด์„

 

[๋ฌดํ•œ๋Œ€]

- ๋ถ€ํ˜ธ ๋น„ํŠธ๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— IEEE 754 ๋ฐฉ์‹์œผ๋กœ ์Œ์˜ ๋ฌดํ•œ๋Œ€์™€ ์–‘์˜ ๋ฌดํ•œ๋Œ€๋ฅผ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ์Œ.

- ๋ฌดํ•œ๋Œ€๋Š” ์—ฐ์‚ฐ ๊ณผ์ •์—์„œ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ํฐ ์ˆ˜ ๋ณด๋‹ค ๋” ํฐ ๊ฐ’์ด ๋“ค์–ด๊ฐ„๋‹ค๋ฉด ์ž๋™์œผ๋กœ ๋ฐœ์ƒํ•จ

 

[ ์ˆ˜๊ฐ€ ์•„๋‹˜ (NaN )]

- ์—„๋ฐ€ํžˆ ๊ฐ’์„ ์ •ํ•  ์ˆ˜ ์—†๋Š” ์—ฐ์‚ฐ ์ค‘์— ๋ฐœ์ƒ ex ) โˆž - โˆž, -โˆž + โˆž, 0 ร— โˆž, 0 รท 0, โˆž รท โˆž ๋“ฑ

 

โ€‹| ํ˜• ๋ณ€ํ™˜ (์บ์ŠคํŒ…) 

 

 (๋ฐ”๊พธ๋ ค๋Š” ํ˜•) ๋ณ€์ˆ˜ ์ด๋ฆ„

- ํ˜•์„ ๋ฐ”๊พผ๋‹ค๋Š” ๊ฒƒ์€ ์˜๊ตฌ์ ์œผ๋กœ ๋ฐ”๋€Œ๋Š” ๊ฒƒ์ด ์•„๋‹˜.

- double ์ธ ๋ณ€์ˆ˜๋ฅผ int ๋กœ ์บ์ŠคํŒ… ํ•œ๋‹ค๊ณ  ํ•ด๋„ int ์ธ ๋ณ€์ˆ˜๊ฐ€ ๋˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ

  ๊ณ„์‚ฐ์‹์—์„œ ์ผ์‹œ์ ์œผ๋กœ int ํ˜• ๋ณ€์ˆ˜๋กœ ๋ฐ”๊พผ ํ›„ ์ƒ๊ฐํ•˜๋ผ๋Š” ๊ฒƒ

 

https://modoocode.com/17

 

์”น์–ด ๋จน๋Š” C ์–ธ์–ด - <10. ์—ฐ์˜ˆ์ธ ์บ์ŠคํŒ…(?) (C ์–ธ์–ด์—์„œ์˜ ํ˜• ๋ณ€ํ™˜)>

 

modoocode.com

 

๋ฐ˜์‘ํ˜•

| switch ๋ฌธ (switch statement) | 

- while ๋ฌธ์˜ ๊ธฐ๋ณธ ๊ตฌ์กฐ

switch (/* ๋ณ€์ˆ˜ */) {
  case /* ๊ฐ’1 */:
    // ๋ช…๋ น๋“ค;
    break;
  case /* ๊ฐ’2 */:
    // ๋ช…๋ น๋“ค;
    break;
    //.. (์ƒ๋žต) ..
  default :
    // ๋ช…๋ น๋“ค;
    break;
}

- switch๋ฌธ์— ์‚ฌ์šฉ๋˜๋Š” ๋ณ€์ˆ˜๋Š” ๋ฐ˜๋“œ์‹œ ์ •์ˆ˜ํ˜•(char, short, int, long ์ค‘ ํ•˜๋‚˜)์—ฌ์•ผ ํ•จ. (์‹ค์ˆ˜ํ˜•์ด๋ฉด ์ปดํŒŒ์ผ ์‹œ ์˜ค๋ฅ˜)

 

[ ๋‚ด๋ถ€์ ์œผ๋กœ switch ๋ฌธ๊ณผ if-else ์™€๋Š” ์ฐจ์ด๊ฐ€ ์žˆ์Œ]

- if ๋ฌธ์„ ์ด์šฉํ•˜๋ฉด ๊ฐ case ์˜ ๊ฒฝ์šฐ ๋น„๊ตํ•จ. ์ตœ์•…์˜ ๊ฒฝ์šฐ ๋ชจ๋“  case ์— ๋Œ€ํ•ด ๊ฐ’์„ ๋น„๊ตํ•˜๋Š” ์—ฐ์‚ฐ(์–ด์…ˆ๋ธ”๋ฆฌ์–ด์—์„œ๋Š” CMP ์—ฐ์‚ฐ์„ ํ•จ)์„ ํ•จ.

 

- switch ์˜ ๊ฒฝ์šฐ ๋‚ด๋ถ€์ ์œผ๋กœ jump table ์ด๋ผ๋Š” ๊ฒƒ์„ ์ƒ์„ฑ ํ•จ

(- jump table์˜ ํฌ๊ธฐ๋Š” case์˜ ๊ฐ’๋“ค์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง ex. case 1: ~ case 10: ๊นŒ์ง€ ์žˆ์—ˆ๋‹ค๋ฉด jump table ์—๋Š” ๊ฐ’๋“ค์ด 0 ๋ถ€ํ„ฐ 9 ๊นŒ์ง€ ๋“ค์–ด๊ฐ

 - jump table ์€ ํ”„๋กœ๊ทธ๋žจ ์ดˆ๊ธฐ์— switch ๋ฌธ์ด ์‹คํ–‰๋˜๊ธฐ ์ „์— ์ž‘์„ฑ๋˜๊ธฐ ๋•Œ๋ฌธ์—

   'case ๊ฐ’': ํ•  ๋•Œ, '๊ฐ’' ๋ถ€๋ถ„์— ๋ณ€์ˆ˜๊ฐ€ ๋“ค์–ด๊ฐ€๊ฒŒ ๋˜๋ฉด jump table ์— ๋ฌด์—‡์ด ์˜ฌ์ง€ ์•Œ ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์•ˆ๋จ)

๊ฐ’๋“ค์€ ๊ฐ case ๋ณ„๋กœ ๋ช…๋ น๋“ค์ด ์œ„์น˜ํ•œ ๊ณณ์˜ ์ฃผ์†Œ๋ฅผ ๊ฐ€๋ฆฌํ‚ด.

์ฆ‰ ๋ณ€์ˆ˜์˜ ๊ฐ’์— ๋”ฐ๋ผ jump table ์˜ n ๋ฒˆ์งธ ์›์†Œ๋ฅผ ์ฐพ์•„์„œ ๊ทธ ๊ฐ’์— ํ•ด๋‹นํ•˜๋Š” ๊ณณ์œผ๋กœ ์ ํ”„ํ•˜๊ฒŒ ๋จ.

(์ฐธ๊ณ ๋กœ if ๋ฌธ๊ณผ switch ๋ฌธ์˜ ์ฐจ์ด์— ๋Œ€ํ•œ ์„ค๋ช…์„ ์ž์„ธํ•˜๊ฒŒ ์ž˜ ๋‹ค๋ฃจ๋Š” ๊ณณ)

 

- ๋”ฐ๋ผ์„œ, switch ๋ฌธ์„ ์ด์šฉํ•˜๋ฉด case ์— ๋”ฐ๋ผ CMP ์—ฐ์‚ฐ์ด ๋Š˜์–ด๋‚˜๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ jump table ์˜ ํฌ๊ธฐ๊ฐ€ ์ปค์งˆ ๋ฟ ์„ฑ๋Šฅ์—๋Š” ์ „ํ˜€ ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š์Œ

 

- ๊ฒฐ๋ก ์ ์œผ๋กœ  switch ๋ฌธ์ด ํšจ๊ณผ์ ์œผ๋กœ ์ฒ˜๋ฆฌ๋˜๊ธฐ ์œ„ํ•ด์„œ๋Š” case ์˜ '๊ฐ’' ๋“ค์˜ ํฌ๊ธฐ๊ฐ€ ๊ทธ๋‹ค์ง€ ํฌ์ง€ ์•Š์•„์•ผ ํ•˜๊ณ ,

   '๊ฐ’' ๋“ค์ด ์ˆœ์ฐจ์ ์œผ๋กœ ์ •๋ ฌ๋˜์–ด ์žˆ๊ณ , ๊ทธ '๊ฐ’' ๋ผ๋ฆฌ์˜ ์ฐจ์ด๊ฐ€ ํฌ์ง€ ์•Š๋‹ค๋ฉด์ตœ๊ณ ๋กœ ํšจ์œจ์ ์ธ switch ๋ฌธ์„ ์ด์šฉํ•  ์ˆ˜ ์žˆ์Œ.

 

https://modoocode.com/16

 

์”น์–ด๋จน๋Š” C ์–ธ์–ด - <9. ๋งŒ์•ฝ์—... 2ํƒ„ (switch ๋ฌธ)>

 

modoocode.com

 

๋ฐ˜์‘ํ˜•

| for ๋ฌธ (for statement) | for๋ฌธ์€{}์•ˆ์— ์ž‘์—…๋“ค์„ ์กฐ๊ฑด์‹์ด ์„ฑ๋ฆฝํ•  ๋™์•ˆ ๋ฐ˜๋ณต, ๋งค ๋ฐ˜๋ณต๋งˆ๋‹ค ์ฆ๊ฐ์‹ ์‹คํ–‰

- for ๋ฌธ์˜ ๊ธฐ๋ณธ ๊ตฌ์กฐ

for (/* ์ดˆ๊ธฐ์‹ */; /* ์กฐ๊ฑด์‹ */; /* ์ฆ๊ฐ์‹ */) {
  // ๋ช…๋ น1;
  // ๋ช…๋ น2;
  // ....
}

/*์ดˆ๊ธฐ์‹*/ : ์ œ์–ด ๋ณ€์ˆ˜ ( ex. i )์˜ ์ดˆ๊ธฐ ๊ฐ’ ์ง€์ • ( ex.  i = 4 )

/*์กฐ๊ฑด์‹*/ : ์ œ์–ด ๋ณ€์ˆ˜ ( ex. i )๊ฐ€ ๋งŒ์กฑํ–‰ํ•˜๋Š” ํŠน์ •ํ•œ ์กฐ๊ฑด ( ex.  i < 10 )

/*์ฆ๊ฐ์‹*/ : "1 ํšŒ ์‹คํ–‰ ์‹œ i ์˜ ๊ฐ’์„ ์–ด๋–ป๊ฒŒ ๋งŒ๋“ค์–ด์•ผ ๋˜๋ƒ? "

                    ex) ์ฆ๊ฐ์‹์— i ++ ์ด ์จ ์žˆ๋‹ค๋ฉด ํ•œ ๋ฒˆ ์‹คํ–‰ ํ•  ๋•Œ ๋งˆ๋‹ค, i ์˜ ๊ฐ’์„ 1 ์ฆ๊ฐ€ ์‹œํ‚ด

                          ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ฆ๊ฐ์‹ ๋ถ€๋ถ„์— i -= 2 ๋ผ๋ฉด ํ•œ ๋ฒˆ ์‹คํ–‰ ํ•  ๋•Œ ๋งˆ๋‹ค i์˜ ๊ฐ’์€ 2 ์”ฉ ๊ฐ์†Œ

- ์กฐ๊ฑด์‹์„ ๋งŒ์กฑํ•˜๋ฉด {} ์•ˆ์˜ ๋‚ด์šฉ ์‹คํ–‰ โ†’ for ๋ฌธ์˜ ์ฆ๊ฐ์‹ ์‹คํ–‰ โ†’ ์กฐ๊ฑด์‹ ์ฒดํฌ

 

| break ๋ฌธ | 

 for (;;) {
    scanf("%d", &usranswer);
    if (usranswer == 3) {
      printf("๋งž์ถ”์…จ๊ตฐ์š”! \n");
      break;
    } else {
      printf("ํ‹€๋ ธ์–ด์š”! \n");
    }
  }

- for(;;) : ์ดˆ๊ธฐ์‹, ์กฐ๊ฑด์‹, ์ฆ๊ฐ์‹ ์—†์Œ โ˜ž for๋ฌธ์˜ ์กฐ๊ฑด์‹์ด ๋ช…์‹œ๋˜์ง€ ์•Š์œผ๋ฉด ํ•ญ์ƒ ์ฐธ์œผ๋กœ ์ธ์‹ โ˜ž {}์•ˆ ๋‚ด์šฉ ๋ฌดํ•œํžˆ ์‹คํ–‰

- break : for ๋ฌธ์˜ ์กฐ๊ฑด์‹์— ์ƒ๊ด€์—†์ด ์‹คํ–‰ ๋˜๋ฉด for ๋ฌธ์„ ๊ทธ๋Œ€๋กœ ํƒˆ์ถœ โ˜ž ์ฆ‰, break ์•„๋ž˜์˜ ์–ด๋– ํ•œ ๊ฒƒ๋“ค๋„ ์‹คํ–‰๋˜์ง€ ์•Š์Œ

 

| continue ๋ฌธ | 

/* 5 ์˜ ๋ฐฐ์ˆ˜๋ฅผ ์ œ์™ธํ•œ ์ˆซ์ž ์ถœ๋ ฅ */
#include <stdio.h>
int main() {
  int i;

  for (i = 0; i < 100; i++) {
    if (i % 5 == 0) continue;

    printf("%d ", i);
  }

  return 0;
}

- continue : ์‹คํ–‰๋˜๋ฉด ์ดํ•˜ ๋‚ด์šฉ์€ ํŒจ์Šค(์‹คํ–‰๋˜์ง€ ์•Š์Œ)  โ˜ž ๋‹ค์‹œ ์กฐ๊ฑด ์ ๊ฒ€๋ถ€๋กœ ์ ํ”„ ํ•จ(๋ฃจํ”„๋ฅผ ๋น ์ ธ๋‚˜๊ฐ€์ง€ ์•Š์Œ)

                    (์œ ) break : ์‹คํ–‰๋˜๋ฉด ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๋ฃจํ”„๋ฅผ ๋น ์ ธ ๋‚˜๊ฐ

 

| while ๋ฌธ (while statement) | 

- while ๋ฌธ์˜ ๊ธฐ๋ณธ ๊ตฌ์กฐ

while (/* ์กฐ๊ฑด์‹ */) {
  // ๋ช…๋ น1;
  // ๋ช…๋ น2;
  // ...
}

โ”— ์กฐ๊ฑด์‹์„ ๊ฒ€์‚ฌํ•ด์„œ ์ฐธ์ธ ๋™์•ˆ ๋ช…๋ น์„ ๊ณ„์† ์‹คํ–‰, ์กฐ๊ฑด๋ฌธ์ด ๊ฑฐ์ง“์ด๋ฉด {} ๋‚ด์šฉ์€ ์‹คํ–‰๋˜์ง€ ์•Š์Œ

 

- do - while ๋ฌธ์˜ ๊ธฐ๋ณธ ๊ตฌ์กฐ

do {
  // ๋ช…๋ น1;
  // ๋ช…๋ น2;
  // ...
} while (/* ์กฐ๊ฑด์‹ */);

โ”— ๋ช…๋ น์„ ์‹คํ–‰ ํ•œ ๋’ค ์กฐ๊ฑด์‹์„ ๊ฒ€์‚ฌ, ์กฐ๊ฑด์‹์ด ์ฐธ์ธ ๋™์•ˆ ๋ช…๋ น์„ ๊ณ„์† ์‹คํ–‰, ์กฐ๊ฑด๋ฌธ์ด ๊ฑฐ์ง“์ด๋ฉด {} ๋‚ด์šฉ์€ ์‹คํ–‰๋˜์ง€ ์•Š์Œ 

     โ˜ž ์ตœ์†Œ ํ•œ๋ฒˆ์€ ์‹คํ–‰ ๋จ

 

https://modoocode.com/12

 

์”น์–ด๋จน๋Š” C ์–ธ์–ด - <7. ๋ฑ…๊ธ€ ๋ฑ…๊ธ€ (for, while) >

 

modoocode.com

 

๋ฐ˜์‘ํ˜•

| if ๋ฌธ ์‹œ์ž‘ํ•˜๊ธฐ |

  if (์กฐ๊ฑด) {์กฐ๊ฑด์ด ์ฐธ ์ผ ๋•Œ ์‹คํ–‰ ๋ช…๋ น์–ด};

 

[ ๊ด€๊ณ„ ์—ฐ์‚ฐ์ž ] 

== : ์ขŒ๋ณ€๊ณผ ์šฐ๋ณ€์ด ๊ฐ™์Œ

>= : ์ขŒ๋ณ€์ด ์šฐ๋ณ€๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™์Œ

>   : ์ขŒ๋ณ€์ด ์šฐ๋ณ€๋ณด๋‹ค ํผ

<= : ์ขŒ๋ณ€์ด ์šฐ๋ณ€๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์Œ

<   : ์ขŒ๋ณ€์ด ์šฐ๋ณ€๋ณด๋‹ค ์ž‘์Œ

!=  : ์ขŒ๋ณ€๊ณผ ์šฐ๋ณ€์ด ๊ฐ™์ง€ ์•Š์Œ

 

โ€ป ๊ด€๊ณ„ ์—ฐ์‚ฐ์ž๋Š” ๊ด€๊ณ„ ์—ฐ์‚ฐ ํ›„ ์ฐธ์ด๋ฉด 1, ๊ฑฐ์ง“์ด๋ฉด 0์„ ๋‚˜ํƒ€๋ƒ„ 

    if (0) ์ด๋ผ ํ•œ๋‹ค๋ฉด ๊ทธ ์ค‘๊ด„ํ˜ธ ์†์˜ ๋‚ด์šฉ์€ ์ ˆ๋Œ€๋กœ ์‹คํ–‰๋˜์ง€ ์•Š๊ณ 

    if(1) ์ด๋ผ ํ•œ๋‹ค๋ฉด ๊ทธ ์ค‘๊ด„ํ˜ธ ์†์˜ ๋‚ด์šฉ์€ 100% ์‹คํ–‰

 

โ€ป ์ปดํ“จํ„ฐ์—์„œ 0์œผ๋กœ ๋‚˜๋ˆ„๋Š” ๊ฒƒ์€ ๊ธˆ์ง€

 

| if - else ๋ฌธ ์‹œ์ž‘ํ•˜๊ธฐ | : else ์ดํ•˜๋Š” ์•ž์˜ if๊ฐ€ ์ฐธ์ด ์•„๋‹ ๋•Œ ์‹คํ–‰ ๋จ

if () {}; else { if() {} }

== if () {}; else if () {};

 

| ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž |

[๋…ผ๋ฆฌ ๊ณฑ ์—ฐ์‚ฐ์ž (Logical AND), && ] : ๋‘ ์กฐ๊ฑด ๋ชจ๋‘ ์ฐธ์ผ ๋•Œ๋งŒ ์ฐธ์„ ๋ฐ˜ํ™˜

 if (a >= 10 && a < 20) {
    printf(" %d ๋Š” 10 ์ด์ƒ, 20 ๋ฏธ๋งŒ์ธ ์ˆ˜ ์ž…๋‹ˆ๋‹ค. \n", a);
  }

           โ””> ๊ด€๊ณ„ ์—ฐ์‚ฐ ๋‘๊ฐ€์ง€ ๋ชจ๋‘๊ฐ€ ์ฐธ(1)์ผ ๋•Œ๋งŒ &&์—ฐ์‚ฐ์— ์˜ํ•ด ์ฐธ(1)์ด ๋„์ถœ ๋จ.

                 โ†’ ๋‘ ๊ด€๊ณ„์—ฐ์‚ฐ์ด ๋ชจ๋‘ ์ฐธ์ผ๋•Œ๋งŒ if ( 1 )์ด ๋˜๋ฏ€๋กœ ์ค‘๊ด„ํ˜ธ ์ดํ•˜๊ฐ€ ์‹คํ–‰ ๋จ.

 

 - ' & '๋Š” ๋น„ํŠธ ์—ฐ์‚ฐ์ž ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋…ผ๋ฆฌ ๊ณฑ ์—ฐ์‚ฐ์€ ' && '๋กœ ํ‘œํ˜„ ํ•จ

 

- Short Circuit Evaluation -

if (height >= 180 && weight >= 90) {
}

  ์œ„ ์ฒ˜๋Ÿผ ํ•œ ์กฐ๊ฑด์‹์„ ํ™•์ธํ•˜๊ณ  ์ „์ฒด ๊ฒฐ๊ณผ๊ฐ€ ์ •ํ•ด์ ธ ์žˆ๋Š” ๊ฒฝ์šฐ, ๊ตณ์ด ๊ทธ ๋‹ค์Œ ์กฐ๊ฑด์‹์„ ํ™•์ธํ•  ํ•„์š”๊ฐ€ ์—†์Œ. ์ด ๊ฒฝ์šฐ ์ปดํ“จํ„ฐ๋Š” ๋’ค์˜ ์กฐ๊ฑด์‹์„ ํ™•์ธํ•˜์ง€ ์•Š์Œ (์“ธ๋ฐ ์—†๋Š” ์—ฐ์‚ฐ์„ ์ค„์ด๊ธฐ ์œ„ํ•ด์„œ), ์ด์™€ ๊ฐ™์€ ๋ฐฉ์‹์„ Short Circuit Evaluation ์ด๋ผ๊ณ  ํ•จ.

 

  ๋งŒ์•ฝ์— height >= 180 & weight >= 90 ์ฒ˜๋Ÿผ & ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด & ๋Š” ์ •ํ™•ํ•œ ์—ฐ์‚ฐ ๊ฒฐ๊ณผ๋ฅผ ์ œ๊ณตํ•ด์•ผ ํ•˜๋ฏ€๋กœ ๋’ค์— ์˜ค๋Š” ์‹๋„ ๋ฐ˜๋“œ์‹œ ๊ณ„์‚ฐ์„ ํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— SCE ๋ฅผ ์ ์šฉํ•  ์ˆ˜ ์—†์Œ.

  ํ•˜์ง€๋งŒ && ๋Š” ๋…ผ๋ฆฌ ๊ฒฐ๊ณผ์— ๋”ฐ๋ผ์„œ 0 ํ˜น์€ 1 ๋งŒ ๋Œ๋ ค์ฃผ๋ฉด ๋˜๊ธฐ ๋•Œ๋ฌธ์—๋ฏ€๋กœ SCE ๋ฅผ ์‚ฌ์šฉ ํ•  ์ˆ˜ ์žˆ์Œ.

 

โ˜… ์กฐ๊ฑด์‹ ์‚ฌ์ด์˜ ๊ด€๊ณ„๋ฅผ ํ‘œํ˜„ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ๋ฐ˜๋“œ์‹œ ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•  ๊ฒƒ !

 

[๋…ผ๋ฆฌ ํ•ฉ ์—ฐ์‚ฐ์ž (Logical OR), || ] : ๋‘ ์กฐ๊ฑด ๋ชจ๋‘ ๊ฑฐ์ง“์ผ ๋•Œ๋งŒ ๊ฑฐ์ง“์„ ๋ฐ˜ํ™˜

           โ””> ๊ด€๊ณ„ ์—ฐ์‚ฐ ๋‘๊ฐ€์ง€ ๋ชจ๋‘๊ฐ€ ๊ฑฐ์ง“(0)์ผ ๋•Œ๋งŒ || ์—ฐ์‚ฐ์— ์˜ํ•ด ๊ฑฐ์ง“(0)์ด ๋„์ถœ ๋จ.

                 โ†’ ๋‘ ๊ด€๊ณ„์—ฐ์‚ฐ ์ค‘ ํ•˜๋‚˜๋ผ๋„ ์ฐธ์ผ ๋•Œ๋Š” if ( 1 )์ด ๋˜๋ฏ€๋กœ ์ค‘๊ด„ํ˜ธ ์ดํ•˜๊ฐ€ ์‹คํ–‰ ๋จ.

 

[ NOT, ! ] : ์ฐธ์„ ๊ฑฐ์ง“์œผ๋กœ, ๊ฑฐ์ง“์„ ์ฐธ์œผ๋กœ ๋ฐ˜์ „ ์‹œํ‚ด

          โ””> !๋Š” 0์ด ์•„๋‹Œ ๊ฐ’์€ 0์œผ๋กœ ๋ณ€ํ™˜ ํ•ด์ค€๋‹ค.

 

- ! ์—ฐ์‚ฐ์ž์˜ ํŠน์„ฑ์„ ์ด์šฉํ•ด์„œ ๋ณดํ†ต ์–ด๋– ํ•œ ๋ณ€์ˆ˜์˜ ๊ฐ’์ด 0 ์ด ์•„๋‹Œ์ง€๋ฅผ ํŒ๋ณ„ํ•˜๊ธฐ ์œ„ํ•ด ์•„๋ž˜์™€ ๊ฐ™์ด ์ž‘์„ฑํ•˜๊ธฐ๋„ ํ•จ.

if (!p) {  // p == 0 ๊ณผ ๊ฐ™์€ ์˜๋ฏธ์ด์ง€๋งŒ ๋” ์งง๊ธฐ ๋•Œ๋ฌธ์— ์ž์ฃผ ์‚ฌ์šฉ๋œ๋‹ค :)
  // p ๊ฐ€ 0 ์ผ ๋•Œ์—๋งŒ ์‹คํ–‰๋œ๋‹ค.
}

https://modoocode.com/10

 

์”น์–ด๋จน๋Š” C ์–ธ์–ด - <6. ๋งŒ์•ฝ์—...(if ๋ฌธ)>

 

modoocode.com

 

๋ฐ˜์‘ํ˜•

+ Recent posts