1. stack smashing : buffer overflow

๋ฐ˜์‘ํ˜•
#include <stdio.h>
int isdigit(char c);
int main() {
    char input;

    scanf("%c", &input);

    if (isdigit(input)) {
        printf("%c๋Š” ์ˆซ์ž์ž…๋‹ˆ๋‹ค. \n", input);
    }
    else {
        printf("%c๋Š” ์ˆซ์ž๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค \n", input);
    }
    return 0;
}
int isdigit(char c) {
    if (48<= c && c <= 57) {
        return 1;
    } else
    return 0;
}
 
 

root@DESKTOP-RMVJKG9:~/modoocode/13.Function# gcc 13.2_6_Use_function.c
13.2_6_Use_function.c:2:5: warning: conflicting types for built-in function ‘isdigit’; expected ‘int(int)’ [-Wbuiltin-declaration-mismatch]
    2 | int isdigit(char c);
      |     ^~~~~~~
13.2_6_Use_function.c:2:1: note: ‘isdigit’ is declared in header ‘<ctype.h>’
    1 | #include <stdio.h>
  +++ |+#include <ctype.h>
    2 | int isdigit(char c);

 

๊ฐ€๋Šฅ์„ฑ 1. std ํ•จ์ˆ˜์™€ ์ด๋ฆ„์ด ์ค‘๋ณต?

http://egloos.zum.com/rucaus/v/2352477

 

warning : conflicting types for built-in function 'ํ•จ์ˆ˜์ด๋ฆ„'

์ด๋ฏธ ๊ทธ ํ•จ์ˆ˜์ด๋ฆ„์œผ๋กœ standard function์ด ๋‚ด์žฅ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ๊ณ . stdํ•จ์ˆ˜์™€ ๋‚ด๊ฐ€ ๋งŒ๋“  ํ•จ์ˆ˜์ด๋ฆ„์ด ๊ฒน์น˜๋ฉด ์—ฌ๋Ÿฌ๋ชจ๋กœ ์ข‹์ง€ ์•Š์œผ๋ฏ€๋กœ, ๋‚ด ํ•จ์ˆ˜ ์ด๋ฆ„์„ ๋‹ค๋ฅธ๊ฑธ ์‚ฌ์šฉํ•˜๋„๋ก ํ•œ๋‹ค.

egloos.zum.com

 

๊ฐ€๋Šฅ์„ฑ 2. ํ•จ์ˆ˜ ์„ ์–ธ์˜ ๋ฌธ์ œ..(ํ•จ์ˆ˜์˜ ์›ํ˜•์„ ์“ฐ์ง€ ์•Š์•˜๊ฑฐ๋‚˜ ์„ ์–ธ์ด ์—ฌ๋Ÿฌ๊ตฐ๋ฐ ์ผ๋•Œ..?)

https://blog.naver.com/PostView.nhn?isHttpsRedirect=true&blogId=plute&logNo=20193419934 

 

๋ฆฌ๋ˆ…์Šค - gcc error - conflicting types for

conflicting types for ์€ ์ž๋ฃŒํ˜•์„ ์ค‘๋ณต์œผ๋กœ ๋”ด๊ณณ์— ๋‹ค๋ฅธ ํ˜•ํƒœ๋กœ ์ •์˜ ํ–ˆ์„๋•Œ ์ผ์–ด๋‚ ์ˆ˜๋„ ์žˆ๊ณ , ... ๊ทผ๋ฐ ...

blog.naver.com

์ถ”์ธก.. ํƒ€์ž…์˜ ๋ฌธ์ œ์ธ๊ฒƒ ๊ฐ™์€๋ฐ..

๋ฐ˜์‘ํ˜•
#include <stdio.h>

int magicbox(i) {
    i += 4;
    return i;
}

int main() {
    int i;
    printf("a number to put in : \n");
    scanf("%d", &i);
    magicbox(i);
    return 0;
}

์˜ค๋ฅ˜ ๋ฌธ๊ตฌ type of 'i' defaults to 'int'

๋ฌธ์ œ : ํ•จ์ˆ˜ ์ •์˜ ์‹œ ์ธ์ž์˜ ํ˜•ํƒœ๋ฅผ ์„ ์–ธํ•ด ์ฃผ์ง€ ์•Š์Œ.

ํ•ด๊ฒฐ : ํ•จ์ˆ˜ ์„ ์–ธ ์‹œ ๊ด„ํ˜ธ ์•ˆ์— ์ธ์ž์˜ ํ˜• ์„ ์–ธํ•ด์ฃผ๋ฉด ํ•ด๊ฒฐ.

 

magicbox( i ) => magicbox( int i )

๋ฐ˜์‘ํ˜•

 

์›์ธ

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

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

- ์•„๋‹ˆ๋ฉด ↓ ์ฐธ๊ณ 

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 ์‹คํ–‰ ์„ฑ๊ณต

๋ฐ˜์‘ํ˜•
#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

 

๋ฐ˜์‘ํ˜•

- 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

 

๋ฐ˜์‘ํ˜•

+ Recent posts