[C] ์ž๋ฃŒํ˜•๊ณผ ์„ ํ–‰์ฒ˜๋ฆฌ๊ธฐ

2025. 8. 29. 14:37ยท๐Ÿ› ๏ธBackend/โš™๏ธC

โœ… 1. ์ž๋ฃŒํ˜•๊ณผ ์ƒ์ˆ˜

(1) ์ž๋ฃŒํ˜•์˜ ๊ฐœ๋…

[ ์ž๋ฃŒํ˜•(data type) ์ด๋ž€? ]

  • ์ปดํ“จํ„ฐ์—์„œ ๊ฐ’์˜ ํ‘œํ˜„ ๋ฐฉ๋ฒ•์„ ์ •์˜ํ•œ ๊ฒƒ
  • ์‰ฝ๊ฒŒ๋งํ•ด, ๋ฐ์ดํ„ฐ๊ฐ€ ์–ด๋–ค ์ข…๋ฅ˜์˜ ๊ฐ’์ด๊ณ , ๋ฉ”๋ชจ๋ฆฌ์—์„œ ์–ด๋–ป๊ฒŒ ์ €์žฅ๋˜๊ณ  ์ฒ˜๋ฆฌ ๋ ์ง€๋ฅผ ์ •์˜ํ•˜๋Š” ๊ทœ์น™์„ ์˜๋ฏธํ•œ๋‹ค.
  • ๊ฐ’์„ ์ €์žฅํ•˜๊ฑฐ๋‚˜ ๊ณ„์‚ฐ์„ ํ•  ๋•Œ ์ž๋ฃŒํ˜•์„ ์—„๊ฒฉํ•˜๊ฒŒ ๊ตฌ๋ถ„ํ•˜์—ฌ ์ฒ˜๋ฆฌํ•จ

(2) C ์–ธ์–ด ์ž๋ฃŒํ˜•์˜ ์ข…๋ฅ˜

[ ๊ธฐ๋ณธํ˜• (primitive types) ]

  • ์–ธ์–ด์—์„œ ๋ฏธ๋ฆฌ ์ •์˜๋˜์–ด ์žˆ๋Š” ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ๋ฐ์ดํ„ฐ ์ €์žฅ ๋‹จ์œ„๋ฅผ ์˜๋ฏธํ•œ๋‹ค.
  • ์ฆ‰, ๋ณต์žกํ•œ ๊ตฌ์กฐ ์—†์ด ํ•˜๋‚˜์˜ ๊ฐ’๋งŒ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ์ž๋ฃŒํ˜•์ด๋‹ค.
  • ๊ธฐ๋ณธ ์ž๋ฃŒํ˜•์—๋Š” ์ •์ˆ˜ํ˜•, ๋ฌธ์žํ˜•, ์‹ค์ˆ˜ํ˜• ์„ธ ๊ฐ€์ง€๊ฐ€ ์กด์žฌํ•œ๋‹ค.

[ ์—ด๊ฑฐํ˜• (enumerated type) ]

// ๋‚ด๋ถ€์ ์œผ๋กœ ๊ฐ ์ด๋ฆ„์—๋Š” 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š” ์ •์ˆ˜ ๊ฐ’์ด ์ž๋™ ํ• ๋‹น ๋จ ( Sunday = 0 ... )
enum Weekday { Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday };
// ๊ฐ’ ์ง์ ‘ ์ง€์ • ๊ฐ€๋Šฅ
enum Weekday { Sunday=1, Monday, Tuesday=5, Wednesday, Thursday, Friday, Saturday };
  • ๊ด€๋ จ ์žˆ๋Š” ์ƒ์ˆ˜๋“ค์˜ ์ด๋ฆ„ ์ง‘ํ•ฉ์„ ์ •์˜ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ์ž๋ฃŒํ˜•์ด๋‹ค.
  • ์‰ฝ๊ฒŒ๋งํ•ด, ์ˆซ์ž ๊ฐ’์— ์ด๋ฆ„์„ ๋ถ™์—ฌ์„œ ์“ฐ๋Š” ๋ฐฉ๋ฒ•

[ ํŒŒ์ƒํ˜• (derived types) ]

  • ๊ทธ ์™ธ์˜ ์ž๋ฃŒํ˜•์€ ํŒŒ์ƒํ˜•์œผ๋กœ ๋ถˆ๋ฆฐ๋‹ค.
  • ๋ฐฐ์—ดํ˜•(array type)
  • ๊ตฌ์กฐ์ฒดํ˜•(structure type)
  • ๊ณต์šฉ์ฒดํ˜•(union type)
  • ํฌ์ธํ„ฐํ˜•(pointer type)

(3) ๊ธฐ๋ณธ ์ž๋ฃŒํ˜•์˜ ํฌ๊ธฐ์™€ ๊ฐ’์˜ ๋ฒ”์œ„

[ ๋ฌธ์žํ˜•๊ณผ ์ •์ˆ˜ํ˜• ]

  • signed, unsigned ๋Š” ์ •์ˆ˜ํ˜•์—์„œ ๋ถ€ํ˜ธ(+,-)๋ฅผ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ์ •ํ•˜๋Š” ํ‚ค์›Œ๋“œ์ด๋‹ค.
  • signed: ๋ถ€ํ˜ธ ์žˆ๋Š” ์ •์ˆ˜๋กœ ์–‘์ˆ˜์™€ ์Œ์ˆ˜ ๋ชจ๋‘ ํ‘œํ˜„์ด ๊ฐ€๋Šฅํ•จ. ( ๋””ํดํŠธ๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋จ. )
  • unsigned: ๋ถ€ํ˜ธ ์—†๋Š” ์ •์ˆ˜๋กœ 0 ์ด์ƒ ์–‘์ˆ˜๋งŒ ํ‘œํ˜„์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ( -๋Š” ์‚ฌ์šฉ์ด ๋ถˆ๊ฐ€ ๋Œ€์‹  ๋ฐ”์ดํŠธ ๋ฒ”์œ„๊ฐ€ 0 ~ 255๋กœ ๋„“์–ด์ง )
  • ๋‘ ๊ฐ€์ง€์˜ ์ฐจ์ด๋Š” C ์–ธ์–ด ์ •์ˆ˜ํ˜• ๊ธฐ๋ณธ ํƒ€์ž…์˜ ๋””ํดํŠธ๋Š” signed ๋กœ, ๋‚ด๋ถ€์—์„œ 1๋ฐ”์ดํŠธ๋Š” 8๊ฐœ์˜ ๋น„ํŠธ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์ง€๋งŒ ๋ฒ”์œ„๋กœ๋Š” 7๋น„ํŠธ(-128 ~ 127) ๋กœ ์‚ฌ์šฉ์ด ๋œ๋‹ค. ๋‚˜๋จธ์ง€ 1๋น„ํŠธ๋Š” ๋ถ€ํ˜ธ์šฉ์œผ๋กœ ์”Œ์ด๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋‹ค. ํ•˜์ง€๋งŒ unsigned ํ‚ค์›Œ๋“œ ๊ฐ™์€ ๊ฒฝ์šฐ์—๋Š” ์Œ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์กฐ๊ฑด์œผ๋กœ 1๋น„ํŠธ๋ฅผ ์ˆ˜๋กœ ํ‘œํ˜„์„ ํ•ด ๊ธฐ์กด 127 ์„ 255๋กœ ๋Š˜๋ฆฌ๊ฒŒ ๋  ์ˆ˜ ์žˆ๋Š” ํ‚ค์›Œ๋“œ์ด๋‹ค.
#include <stdio.h>
#include <limits.h>
int main() {
    int minInt = INT_MIN;
    int maxInt = INT_MAX;
    printf("int ์ž๋ฃŒํ˜• ๋ฒ”์œ„: %d ~ %d\n", minInt, maxInt);
}
  • ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ’์˜ ๋ฒ”์œ„๋Š” limits.h์— ์ •์˜๋œ ๊ฐ’์œผ๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Œ.

[ ๋ฌธ์žํ˜•์˜ ์‚ฌ์šฉ ์˜ˆ์‹œ ]

#include <stdio.h>
int main() {
    char ch1;
    ch1 = 'A';
    printf("ch = '%c'\n", ch1);
    printf("'%c'์˜ ASCII ์ฝ”๋“œ = %d\n", ch1, ch1);
    char ch2 = 0x42;
    printf("ASCII ์ฝ”๋“œ %d์˜ ๋ฌธ์ž = '%c'\n", ch2, ch2);
}
// ์ถœ๋ ฅ ๊ฒฐ๊ณผ
// ch = 'A'
// 'A'์˜ ASCII ์ฝ”๋“œ = 65
// ASCII ์ฝ”๋“œ 66์˜ ๋ฌธ์ž = 'B'
  • ๋ฌธ์ž๋Š” ์ •์ˆ˜๊ฐ’์„ ๊ฐ€์ง€๊ณ  ์•„์Šคํ‚ค์ฝ”๋“œํ‘œ์— ๋งž๊ฒŒ ๋ฌธ์ž๋กœ ํ‘œํ˜„์ด ๋œ๋‹ค.
  • ์ฆ‰, ๊ฒฐ๊ตญ์€ ์ •์ˆ˜๊ฐ’์ด ๋ฌธ์ž๋ž‘ ๋งค์นญ์ด ๋˜์–ด์„œ ํ‘œํ˜„์ด ๋˜๋Š” ๊ฒƒ์ด๋‹ค.

[ ์‹ค์ˆ˜ํ˜• ]

  • ๋ถ€๋™์†Œ์ˆ˜์  ํ‘œํ˜„๋ฐฉ์‹์˜ ์ˆ˜(IEEE754 ๊ธฐ์ค€) ๋ฅผ ์˜๋ฏธํ•œ๋‹ค.

#include <stdio.h>
#include <float.h>
int main() {
    double minDouble = DBL_MIN;
    double maxDouble = DBL_MAX;
    printf("double ์ž๋ฃŒํ˜• ๋ฒ”์œ„: %e ~ %e\n", minDouble, maxDouble);
}
  • ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ์‹ค์ˆ˜ํ˜•์˜ ๊ฐ’์˜ ๋ฒ”์œ„๋Š” float.h ์— ์ •์˜๋œ ๊ฐ’์œผ๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Œ.

(4) ์—ด๊ฑฐํ˜•

[ ์—ด๊ฑฐํ˜• (enumeration type) ์ด๋ž€? ]

// ๋‚ด๋ถ€์ ์œผ๋กœ ๊ฐ ์ด๋ฆ„์—๋Š” 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š” ์ •์ˆ˜ ๊ฐ’์ด ์ž๋™ ํ• ๋‹น ๋จ ( Sunday = 0 ... )
enum Weekday { Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday };
// ๊ฐ’ ์ง์ ‘ ์ง€์ • ๊ฐ€๋Šฅ
enum Weekday { Sunday=1, Monday, Tuesday=5, Wednesday, Thursday, Friday, Saturday };
  • ๋‚˜์—ด๋œ ๋‹จ์–ด๋ฅผ ๊ฐ’์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ์ž๋ฃŒํ˜•์ด๋‹ค
  • ๋‚˜์—ด๋œ ์ˆœ์„œ๋Œ€๋กœ 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š” ์ •์ˆ˜๋ฅผ ํ‘œํ˜„ํ•จ
  • ๊ด€๋ จ ์žˆ๋Š” ์ƒ์ˆ˜๋“ค์˜ ์ด๋ฆ„ ์ง‘ํ•ฉ์„ ์ •์˜ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ์ž๋ฃŒํ˜•์ด๋‹ค.
  • ์‰ฝ๊ฒŒ๋งํ•ด, ์ˆซ์ž ๊ฐ’์— ์ด๋ฆ„์„ ๋ถ™์—ฌ์„œ ์“ฐ๋Š” ๋ฐฉ๋ฒ•
  • ์ฆ‰, ๊ด€๋ จ ์žˆ๋Š” ์ƒ์ˆ˜๋“ค์˜ ์ง‘ํ•ฉ์„ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•œ ๋„๊ตฌ์ด๋‹ค.
  • ์ž๋ฐ”์™€๋Š” ๋‹ค๋ฅด๊ฒŒ ์ •์ˆ˜ ์ƒ์ˆ˜ ์ง‘ํ•ฉ์„ ๋งŒ๋“œ๋Š” ๋ฌธ๋ฒ•์ด๋ผ ๋ฌธ์ž์—ด์„ ๋„ฃ์„ ์ˆœ ์—†์œผ๋ฉฐ, ์ •์ˆ˜๋งŒ ๊ฐ€๋Šฅํ•จ.
#include <stdio.h>
int main() {
    enum day {SUN, MON, TUE, WED, THU, FRI, SAT};
    enum fruit {APPLE, PEAR, MANGO=4, GRAPE};
    printf("TUE์˜ ๊ฐ’ = %d\n", TUE);
    printf("PEAR์˜ ๊ฐ’ = %d\n", PEAR);
    printf("GRAPE์˜ ๊ฐ’ = %d\n", GRAPE);
}
// ๊ฒฐ๊ณผ๊ฐ’
// TUE์˜ ๊ฐ’ = 2
// PEAR์˜ ๊ฐ’ = 1
// GRAPE์˜ ๊ฐ’ = 5
  • ์ด๋ ‡๊ฒŒ ์ถœ๋ ฅ์„ํ•˜๊ฒŒ ๋˜๋ฉด, ์ •์ˆ˜๊ฐ’์ด ์ถœ๋ ฅ์ด ๋˜๋Š”๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Œ.

(5) ์ƒ์ˆ˜

[ ์ƒ์ˆ˜๋ž€? ]

  • ํ•ญ์ƒ ๊ณ ์ •๋œ ๊ฐ’์„ ๊ฐ–๋Š” ์ž๋ฃŒ๋ฅผ ์˜๋ฏธํ•œ๋‹ค.
  • C ์–ธ์–ด์˜ ์ƒ์ˆ˜ ํ‘œํ˜„์€ ์ž๋ฃŒํ˜•์— ๋”ฐ๋ผ ์ •ํ•ด์ง„ ๋ฌธ๋ฒ•์— ๋”ฐ๋ผ ๊ฐ’์„ ํ‘œ๊ธฐํ•œ๋‹ค.
  • ์ƒ์ˆ˜(constant) ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†๋Š” ๊ฐ’ literal ์ž์ฒด๋„ ์ƒ์ˆ˜๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๊ณ , const ํ‚ค์›Œ๋“œ๋‚˜ #define ๋“ฑ์œผ๋กœ ๋งŒ๋“  ์ƒ์ˆ˜๋„ ํฌํ•จ

[ ์ •์ˆ˜ํ˜• ์ƒ์ˆ˜ ]

  • 10์ง„์ˆ˜, 8์ง„์ˆ˜, 16์ง„์ˆ˜๋กœ ํ‘œํ˜„ ๊ฐ€๋Šฅ

#include <stdio.h>
int main() {
    // 10์ง„์ˆ˜ ์ •์ˆ˜ ์ƒ์ˆ˜
    const int a = 10;        // 10
    // 8์ง„์ˆ˜ ์ •์ˆ˜ ์ƒ์ˆ˜ (์•ž์— 0)
    const int b = 012;       // 10์ง„์ˆ˜๋กœ 10
    // 16์ง„์ˆ˜ ์ •์ˆ˜ ์ƒ์ˆ˜ (์•ž์— 0x)
    const int c = 0xA;       // 10์ง„์ˆ˜๋กœ 10
    // ๋ถ€ํ˜ธ ์—†๋Š” ์ •์ˆ˜ ์ƒ์ˆ˜
    const unsigned int d = 100u;
    // long long ์ •์ˆ˜ ์ƒ์ˆ˜
    const long long e = 123456789LL;
}
  • const ํ‚ค์›Œ๋“œ๋ฅผ ํ†ตํ•ด์„œ ์ƒ์ˆ˜๋ฅผ ํ‘œํ˜„ ํ•  ์ˆ˜ ์žˆ์Œ. ํ•ด๋‹น ๋ถ€๋ถ„์€ ์ •์ˆ˜ํ˜• ์ƒ์ˆ˜์ž„.

[ ์‹ค์ˆ˜ํ˜• ์ƒ์ˆ˜ ]

  • ๋ถ€๋™์†Œ์ˆ˜์  ํ˜• ์ƒ์ˆ˜
  • double ํ˜•์ด ๊ธฐ๋ณธ ์ž๋ฃŒํ˜•์ž„

#include <stdio.h>
int main(void) {
    // doubleํ˜• ์‹ค์ˆ˜ ์ƒ์ˆ˜ (๊ธฐ๋ณธ)
    const double a = 3.14159;
    // floatํ˜• ์‹ค์ˆ˜ ์ƒ์ˆ˜ (์ ‘๋ฏธ์‚ฌ f/F)
    const float b = 3.14f;
    // long doubleํ˜• ์‹ค์ˆ˜ ์ƒ์ˆ˜ (์ ‘๋ฏธ์‚ฌ l/L)
    const long double c = 1.23e4L;  // 1.23 * 10^4
    // ์ง€์ˆ˜ ํ‘œ๊ธฐ๋ฒ•
    const double d = 2.5e3;         // 2.5 * 10^3 = 2500.0
}
  • ์‹ค์ˆ˜ํ˜• ๋˜ํ•œ const ํ‚ค์›Œ๋“œ๋ฅผ ํ†ตํ•ด ์ƒ์ˆ˜ ํ‘œํ˜„๋„ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ๋‹ค์–‘ํ•œ ํ‘œ๊ธฐ ๋ฐฉ๋ฒ•์ด ์กด์žฌํ•จ.
  • ํ•ด๋‹น ์ง€์ˆ˜ ํ‘œ๊ธฐ๋ฒ•์˜ e ๋Š” 10์„ ์˜๋ฏธํ•˜๋ฉฐ 3์€ ์ง€์ˆ˜ ๊ฐ’์„ ์˜๋ฏธํ•จ.

[ ๋ฌธ์žํ˜• ์ƒ์ˆ˜ ]

  • ์ž‘์€๋”ฐ์˜ดํ‘œ๋กœ ๋ฌถ์—ฌ ์žˆ๋Š” 1๊ฐœ์˜ ๋ฌธ์ž๋ฅผ ์˜๋ฏธํ•จ.
  • ์˜๋ฌธ์ž: 'a' ~ 'z', 'A' ~ 'Z'
  • ์ˆซ์ž: '0' ~ '9'
  • ๊ธฐํ˜ธ: '+' , '-', '@', '#' ๋“ฑ
  • ๋ฐฑ์ƒ‰๋ฌธ์ž: ๋ณด์ด์ง€๋Š” ์•Š์ง€๋งŒ ํ† ํฐ์„ ๊ตฌ๋ถ„ํ•ด์ฃผ๋Š” ์—ญํ• ์„ ํ•˜๋Š” ๋ฌธ์ž์ž„ ( ' ', '\t', '\n', '\r', '\f' ๋“ฑ )
  • ๋„(null) ๋ฌธ์ž('\0')
  • ๋ฌธ์žํ˜• ์ƒ์ˆ˜๋Š” ๋‚ด๋ถ€์ ์œผ๋กœ๋Š” ํ•ด๋‹น ๋ฌธ์ž์˜ ASCII ์ฝ”๋“œ๊ฐ’์„ ์ €์žฅํ•œ๋‹ค.

[ ๋ฌธ์ž์—ด ์ƒ์ˆ˜ ]

  • ํฐ๋”ฐ์˜ดํ‘œ(" ")๋กœ ๋ฌถ์—ฌ ์žˆ๋Š” ์ผ๋ จ์˜ ๋ฌธ์ž๋ฅผ ์˜๋ฏธํ•œ๋‹ค.
  • ๋ฌธ์ž์—ด์˜ ๋์„ ๋‚˜ํƒ€๋‚ด๊ธฐ ์œ„ํ•œ C์˜ ๋ฌธ์ž์—ด ๋งˆ์ง€๋ง‰์—๋Š” ๋„ ๋ฌธ์ž('\0)๊ฐ€ ์ž๋™์œผ๋กœ ์ถ”๊ฐ€๋จ

[ ์ •๋ฆฌ ]

  • ์—ฌ๊ธฐ์„œ ๋ณด์—ฌ์ค€ ์ƒ์ˆ˜๋“ค์€ ๋ฆฌํ„ฐ๋Ÿด ์ƒ์ˆ˜๋ฅผ ์˜๋ฏธํ•จ. ๊ฐ’ ์ž์ฒด๊ฐ€ ์ƒ์ˆ˜
  • ๋ณ€์ˆ˜์— const๋ฅผ ํ†ตํ•ด ์ƒ์ˆ˜๋กœ ๋งŒ๋“ค๋ฉด ๋ณ€์ˆ˜ ์ž์ฒด๊ฐ€ ๋ถˆ๋ณ€์ด ๋˜๋Š” ์ƒ์ˆ˜๊ฐ€ ๋จ.
  • ์ฆ‰, const ๋Š” ๋ณ€์ˆ˜๋ฅผ ์ƒ์ˆ˜๋กœ ๋งŒ๋“ค์–ด์ฃผ๊ณ  ๋ฆฌํ„ฐ๋Ÿด ๊ฐ’ ์ž์ฒด ๋˜ํ•œ ์ƒ์ˆ˜๋กœ ๋ณผ ์ˆ˜ ์žˆ์Œ.

โœ… 2. ๋ณ€์ˆ˜

(1) ๋ณ€์ˆ˜(variables) ์ •์˜ ๋ฐ ํŠน์ง• 

[ ๋ณ€์ˆ˜๋ž€ ]

#include <stdio.h>
int main() {
    // ์ •์ˆ˜ํ˜• ๋ณ€์ˆ˜
    int age = 25;
    int year;      // ์„ ์–ธ๋งŒ ํ•˜๊ณ  ์ดˆ๊ธฐํ™”๋Š” ๋‚˜์ค‘์—
    year = 2025;   // ๋‚˜์ค‘์— ๊ฐ’ ๋Œ€์ž…

    // ์‹ค์ˆ˜ํ˜• ๋ณ€์ˆ˜
    float pi = 3.14f;
    double e = 2.71828;

    // ๋ฌธ์žํ˜• ๋ณ€์ˆ˜
    char grade = 'A';

    // ์—ฌ๋Ÿฌ ๋ณ€์ˆ˜ ๋™์‹œ์— ์„ ์–ธ
    int x = 10, y = 20, z;

    // ๋ณ€์ˆ˜ ๊ฐ’ ๋ณ€๊ฒฝ
    x = 15;
    grade = 'B';
}
  • ํ”„๋กœ๊ทธ๋žจ์—์„œ ๊ฐ’์„ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ ๊ธฐ์–ต๊ณต๊ฐ„์„ ์˜๋ฏธํ•จ.
  • ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ๋„์ค‘ ๊ฐ’์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Œ
  • ๋ชจ๋“  ๋ณ€์ˆ˜๋Š” ์‚ฌ์šฉํ•˜๊ธฐ ์ „์— ๋ฏธ๋ฆฌ ์„ ์–ธ์ด ๋˜์–ด์•ผ ํ•œ๋‹ค.
  • C ์—์„œ๋Š” ์—ฌ๋Ÿฌ ๋ณ€์ˆ˜๋ฅผ ๋™์‹œ์— ์„ ์–ธ์ด ๊ฐ€๋Šฅํ•จ

[ ๋ณ€์ˆ˜์˜ ํŠน์ง• ]

  • ๋ชจ๋“  ๋ณ€์ˆ˜๋Š” ๋ณ€์ˆ˜๋ช… ์ด๋ผ๋Š” ์ด๋ฆ„์ด ์กด์žฌํ•จ
  • ๋ชจ๋“  ๋ณ€์ˆ˜๋Š” ์ •ํ•ด์ง„ ์ž๋ฃŒํ˜•์ด ์žˆ์Œ.
  • ๋ชจ๋“  ๋ณ€์ˆ˜๋Š” ํ• ๋‹น๋œ ๊ฐ’์„ ๊ฐ–๊ณ  ์žˆ๋‹ค.

(2) ๋ณ€์ˆ˜ ์„ ์–ธ ์‹œ ๊ณ ๋ คํ•ด์•ผ ํ•  ์‚ฌํ•ญ

  • ๋ณ€์ˆ˜์— ์ €์žฅ๋  ๊ฐ’์˜ ํฌ๊ธฐ ์ฆ‰, ์ž๋ฃŒํ˜•์˜ ๋งž๋Š” ๋ฐ”์ดํŠธ ํฌ๊ธฐ๋ฅผ ์ƒ๊ฐํ•ด์•ผ ํ•จ.
  • ๋ณ€์ˆ˜์˜ ์„ ์–ธ ์œ„์น˜: ํ•จ์ˆ˜ ์•ˆ ๋˜๋Š” ๋ฐ–์—์„œ ์„ ์–ธํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์–ด๋””์— ์„ ์–ธํ•จ์— ๋”ฐ๋ผ์„œ ์‚ฌ์šฉ ์šฉ๋„๊ฐ€ ๋‹ฌ๋ผ์ง„๋‹ค.
  • ๋ณ€์ˆ˜์˜ ์ดˆ๊ธฐํ™”: ๋ณ€์ˆ˜ ์ดˆ๊ธฐํ™”๋•Œ ์˜๋ฏธ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ์–ด์ค˜์•ผ ํ•œ๋‹ค. ์ดˆ๊ธฐํ™” ๊ณ ๋ ค

[ ๋ณ€์ˆ˜์— ์ €์žฅ๋  ๊ฐ’์˜ ํฌ๊ธฐ์— ๋”ฐ๋ผ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ ]

  • ์˜ค๋ฒ„ํ”Œ๋กœ(overflow): ์ž๋ฃŒํ˜•์ด ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ’์˜ ๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚˜๋ฉด ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค.
  • ์–ธ๋”ํ”Œ๋กœ(underflow): ์‹ค์ˆ˜ํ˜• ๋ณ€์ˆ˜๊ฐ€ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ์ž‘์€ ์–‘์ˆ˜๋ณด๋‹ค ๋” ์ž‘์€ ๊ฐ’์ด ๋˜์–ด 0์œผ๋กœ ์ฒ˜๋ฆฌ๋˜๋Š” ํ˜„์ƒ์ž„. ์ปต์— ๋‚จ์€ ๋ฌผ์ด ๋„ˆ๋ฌด ์ ์–ด 0์œผ๋กœ ์ทจ๊ธ‰๋˜๋Š” ๊ฒƒ๊ณผ ๋น„์Šทํ•ฉ๋‹ˆ๋‹ค.

[ ๋ณ€์ˆ˜์˜ ์„ ์–ธ ์œ„์น˜ ]

  • ์ „์—ญ๋ณ€์ˆ˜: ํ•จ์ˆ˜ ์™ธ๋ถ€์— ์„ ์–ธ ๋œ ๋ณ€์ˆ˜๋ฅผ ์˜๋ฏธํ•˜๋ฉฐ, ๋ชจ๋“  ํ•จ์ˆ˜์—์„œ ํ˜ธ์ถœ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
  • ์ง€์—ญ๋ณ€์ˆ˜: ํ•จ์ˆ˜ ๋‚ด๋ถ€์˜ ์„ ์–ธ ๋œ ๋ณ€์ˆ˜๋ฅผ ์˜๋ฏธํ•˜๋ฉฐ, ํ•ด๋‹น ํ•จ์ˆ˜ ๋‚ด๋ถ€์—์„œ๋งŒ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•จ.

 


โœ… 3. ์„ ํ–‰์ฒ˜๋ฆฌ๊ธฐ

(1) ์„ ํ–‰์ฒ˜๋ฆฌ(preprocessing) ๋ž€?

  • ์ปดํŒŒ์ผ์— ์•ž์„œ ์†Œ์Šค ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐ€๊ณตํ•˜์—ฌ ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์‹ค์ œ๋กœ ๋ฒˆ์—ญํ•  ์†Œ์Šค ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“œ๋Š” ๊ฒƒ
  • ์ฆ‰, C์˜ ์„ ํ–‰์ฒ˜๋ฆฌ๊ธฐ๋Š” ์ปดํŒŒ์ผ ๊ณผ์ • ์ด์ „์— ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ๋ฏธ๋ฆฌ ๊ฐ€๊ณตํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์ด๋‹ค.
  • ์‰ฝ๊ฒŒ๋งํ•ด, ์„ ํ–‰์ฒ˜๋ฆฌ๋Š” ์ปดํŒŒ์ผ ์ „์— ๋ฏธ๋ฆฌ ์ฒ˜๋ฆฌ๋˜๋Š” ๋ช…๋ น์„ ์˜๋ฏธํ•œ๋‹ค.
  • ์„ ํ–‰์ฒ˜๋ฆฌ ์ง€์‹œ์–ด๋กœ ์ง€์‹œํ•˜๋ฉฐ, ์„ ํ–‰์ฒ˜๋ฆฌ ์ง€์‹œ์–ด๋Š” '#' ์œผ๋กœ ์‹œ์ž‘ํ•œ๋‹ค.
  • ์„ ํ–‰์ฒ˜๋ฆฌ ์ง€์‹œ์–ด ๋ฌธ์žฅ์€ ํ•œ ํ–‰์— ํ•œ ๊ฐœ์˜ ๋ฌธ์žฅ์„ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋ฌธ์žฅ์˜ ๋์— ์„ธ๋ฏธ์ฝœ๋ก ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค.

[ ๋Œ€ํ‘œ์ ์ธ ์„ ํ–‰์ฒ˜๋ฆฌ ]

  • ํ—ค๋”ํŒŒ์ผ ํฌํ•จ: #include
  • ๋งคํฌ๋กœ ์„ ์–ธ ๋ฐ ํ•ด์ œ: #define, #undef
  • ์กฐ๊ฑด๋ถ€ ์ปดํŒŒ์ผ: #if, #else, #elif, #endif

(2) #include ์ง€์‹œ์–ด - ํ—ค๋”ํŒŒ์ผ ํฌํ•จ

  • ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์ปดํŒŒ์ผํ•˜๊ธฐ ์ „์—, ์ง€์ •๋œ ํŒŒ์ผ์˜ ์ „์ฒด ๋‚ด์šฉ์„ ํ˜„์žฌ ํŒŒ์ผ์˜ ํ•ด๋‹น ์œ„์น˜์— ๋ณต์‚ฌํ•ด๋„ฃ๋Š” ์—ญํ• ์„ ํ•จ.
  • ์ง€์ •๋œ ํŒŒ์ผ์€ ํ—ค๋”ํŒŒ์ผ ์ด๋ผ๊ณ ํ•˜๋ฉฐ ํ•ด๋‹น ํŒŒ์ผ์„ ๊ฐ€์ ธ์™€ #include ์ง€์‹œ์–ด ๋ถ€๋ถ„์— ๋ถ™ํ˜€ ๋„ฃ๊ฒŒ๋จ.
  • ์ฆ‰, ๊ฐ€์žฅ ์ƒ๋‹จ์— ๋ฐฐ์น˜๊ฐ€ ๋  ์ˆ˜ ์žˆ๊ฒŒ ๋จ.
// ํ‘œ์ค€ ๋””๋ ‰ํ† ๋ฆฌ์—์„œ ํŒŒ์ผ์„ ์ฐพ์Œ
#include <ํŒŒ์ผ๋ช…>
// ํ˜„์žฌ ์‚ฌ์šฉ ์ค‘์ธ ๋””๋ ‰ํ† ๋ฆฌ, ๋˜๋Š” ์ง์ ‘ ์ง€์ •ํ•œ ๊ฒฝ๋กœ์—์„œ ํŒŒ์ผ์„ ์ฐพ์Œ
#include "ํŒŒ์ผ๋ช…" // #include "aaa/aaa.h
  • C์—์„œ๋Š” ํ‘œ์ค€ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ •ํ•ด๋‘์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ํ•ด๋‹น ํด๋”์— ํŒŒ์ผ์„ ๋„ฃ๊ฒŒ๋˜๋ฉด ์ฐพ์•„์„œ ๊ฐ€์ ธ์˜ค๋Š”๊ฒŒ ๊ฐ€๋Šฅํ•จ.

(3) ๋งคํฌ๋กœ ์ •์˜

[ ๋งคํฌ๋กœ(macro) ๋ž€? ]

  • ํŠน์ • ์ฝ”๋“œ ํŒจํ„ด์œผ๋กœ ์น˜ํ™˜๋˜๋„๋ก ์ •์˜๋œ ๋ช…์นญ์„ ์˜๋ฏธํ•œ๋‹ค.
  • '#define' ์ง€์‹œ์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ๋ช…๋ น์ด๋‚˜ ์ˆ˜์‹ ๋˜๋Š” ์ƒ์ˆ˜์— ์ด๋ฅผ ๋Œ€ํ‘œํ•˜๋Š” ์ด๋ฆ„(๋งคํฌ๋กœ ์ด๋ฆ„)์„ ๋ถ™์—ฌ ์‚ฌ์šฉํ•จ.
  • ๊ฒฐ๋ก ์€ ์ปดํŒŒ์ผ์ „ ์•ฝ์†๋œ ์ด๋ฆ„์ธ ๋งคํฌ๋กœ๋ฅผ ์‹ค์ œ ์ฝ”๋“œ๋‚˜ ๊ฐ’์œผ๋กœ ๋ฐ”๊พธ๋Š” ๊ฒƒ์ด๋ฉฐ, ์ด๊ฒƒ์€ ์ปดํŒŒ์ผ ์ „ ์ƒ์ˆ˜ ์ •์˜๋‚˜ ํ•จ์ˆ˜ ์ •์˜๋กœ ๋ณผ ์ˆ˜ ์žˆ์ง€๋งŒ, ์˜ˆ์‹œ๋กœ #define Max_SIZE 100 ์ด๋ผ๊ณ  define ์ง€์‹œ์–ด๋ฅผ ์ด์šฉํ•˜๊ฒŒ ๋  ๋•Œ ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์ฝ๊ธฐ ์ „์— ์ „์ฒ˜๋ฆฌ๊ธฐ๊ฐ€ ๋จผ์ € ์ž‘๋™ํ•˜์—ฌ ์•ฝ์†๋œ ์ด๋ฆ„์„ ์‹ค์ œ ์ฝ”๋“œ๋กœ ๊ต์ฒดํ•˜๋Š” ์ž‘์—…์„ ํ•ด์ฃผ๊ฒŒ ๋œ๋‹ค. ์ด ์ž‘์—…์€ ์†Œ์Šค ์ฝ”๋“œ์— ์žˆ๋Š” ๋ชจ๋“  MAX_SIZE ๋ฅผ ์ฐพ์•„ 100์œผ๋กœ ๋ฐ”๊พธ๋Š” ์ž‘์—…์ด๋‹ค.
  • ์ฆ‰, ์ปดํŒŒ์ผ ๋  ์›๋ณธ ๋ฌธ์„œ์ธ ์†Œํฌ ์ฝ”๋“œ๋ฅผ ์ปดํŒŒ์ผ ์ „์— ์ˆ˜์ •ํ•˜์—ฌ ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ๋” ํšจ์œจ์ ์ด๊ณ  ์™„์ „ํ•˜๊ฒŒ ์ปดํŒŒ์ผ ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ฃผ๋Š” ๊ฒƒ์ด๋‹ค.
  • ๊ทธ๋ฆฌ๊ณ  ๋งคํฌ๋กœ๋Š” ์ƒ์ˆ˜ ํ˜•ํƒœ์˜ ๋งคํฌ๋กœ, ํ•จ์ˆ˜ ํ˜•ํƒœ์˜ ๋งคํฌ๋กœ ์ด ๋‘ ๊ฐ€์ง€๋กœ ๋‚˜๋ˆ ์ง„๋‹ค.

[ ๋งคํฌ๋กœ ์ƒ์ˆ˜ ์ •์˜ ]

#include <stdio.h>
// ์ƒ์ˆ˜ ๋งคํฌ๋กœ ์ •์˜
#define MAX_NUM 100
int main() {
    int score = 85;
    // ์ •์˜๋œ ๋งคํฌ๋กœ ์‚ฌ์šฉ
    if (score < MAX_NUM) {
        printf("์ ์ˆ˜๊ฐ€ ์ตœ๊ณ  ์ ์ˆ˜(%d)๋ณด๋‹ค ๋‚ฎ์Šต๋‹ˆ๋‹ค.\n", MAX_NUM);
    }
    return 0;
}
  • ์ปดํŒŒ์ผ์ „์— ํ•ด๋‹น ๋งคํฌ๋กœ ์ƒ์ˆ˜๋กœ ์ •์˜๋œ MAX_NUM ์˜ ๊ฐ’์„ ๋ชจ๋‘ 100์œผ๋กœ ์น˜ํ™˜์„ ํ•ด์ค€๋‹ค.
  • [ #undef ๋งคํฌ๋กœ๋ช… ] ์„ ํ†ตํ•ด์„œ ๋งคํฌ๋กœ ์ƒ์ˆ˜๋ฅผ ํ•ด์ œ ํ•  ์ˆ˜ ์žˆ์Œ.

[ ๋งคํฌ๋กœ ํ•จ์ˆ˜ ์ •์˜ ]

#include <stdio.h>
// ํ•จ์ˆ˜ ๋งคํฌ๋กœ ์ •์˜: #define ๋งคํฌ๋กœ๋ช…(์ธ์Šค๋ฆฌ์ŠคํŠธ) (์ˆ˜์‹)
#define C_AREA(X) (3.141592 * (X) * (X))
int main() {
    double r = 5.0;
    printf(%lf\n", C_AREA(r + 5));
    // ๋‚ด๋ถ€์ ์œผ๋กœ ์ด๋Ÿฐ์‹์œผ๋กœ ์น˜ํ™˜ํ•ด์„œ ์ด์šฉ์ด๋จ.
    //printf("%lf\n", (3.141592 * (r + 5) * (r + 5)));
}
  • ์ธ์Šค๋ฆฌ์ŠคํŠธ: 1๊ฐœ ์ด์ƒ์˜ ์ธ์ˆ˜ ์ง€์ • ๊ฐ€๋Šฅ
  • ๋งคํฌ๋กœ ํ™•์žฅ: ์ธ์ˆ˜๋ฅผ ์ˆ˜์‹์— ๋ฐ˜์˜ํ•˜์—ฌ ๋งคํฌ๋กœ๋ช…์„ ์น˜ํ™˜ํ•œ๋‹ค.
  • ์ฃผ์˜: ๋งคํฌ๋กœ๋ช…์ด ์ˆ˜์‹์˜ ํ…์ŠคํŠธ๋กœ ์น˜ํ™˜๋˜๋Š” ๊ฒƒ์ด๋ฏ€๋กœ ์ ์ ˆํžˆ ๊ด„ํ˜ธ๋ฅผ ์‚ฌ์šฉํ•  ํ•„์š”๊ฐ€ ์žˆ์Œ
  • ์˜ˆ์‹œ ์ฝ”๋“œ์™€ ๊ฐ™์ด ๋งคํฌ๋กœ ํ•จ์ˆ˜ ์‚ฌ์šฉํ•˜๋Š” ๊ณณ์ด ์ปดํŒŒ์ผ ์ „์— ํ•ด๋‹น ๋งคํฌ๋กœ ํ•จ์ˆ˜์˜ ์ˆ˜์‹์œผ๋กœ ์น˜ํ™˜์ด ๋˜๊ธฐ ๋•Œ๋ฌธ์—, ํ•จ์ˆ˜ ๊ฐ’์œผ๋กœ ๋งŒ์•ฝ ์ˆ˜์‹์„ ์‚ฌ์šฉํ•˜๊ฒŒ ๋œ๋‹ค๋ฉด, ๊ด„ํ˜ธ๊ฐ€ ํ•„์š”ํ•ด์ง€๊ฒŒ ๋จ. ์ฆ‰, ๊ฐ’์ด ์–ด๋–ค์‹์œผ๋กœ ๊ฐ’์ด ๋“ค์–ด์˜ฌ์ง€ ๋ชฐ๋ผ์„œ ๊ด„ํ˜ธ๋ฅผ ์ ์ ˆํžˆ ์‚ฌ์šฉ์„ ํ•ด์ค˜์•ผํ•จ.

(4) ์กฐ๊ฑด๋ถ€ ์ปดํŒŒ์ผ

[ ์กฐ๊ฑด๋ถ€ ์ปดํŒŒ์ผ์ด๋ž€? ]

  • ์กฐ๊ฑด์— ๋”ฐ๋ผ ์ปดํŒŒ์ผํ•  ์ฝ”๋“œ๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.
  • ์‰ฝ๊ฒŒ๋งํ•ด, ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์ปดํŒŒ์ผํ•  ๋•Œ ํŠน์ • ์กฐ๊ฑด์— ๋”ฐ๋ผ ์ผ๋ถ€ ์ฝ”๋“œ๋ฅผ ํฌํ•จํ•˜๊ฑฐ๋‚˜ ์ œ์™ธํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์˜๋ฏธํ•œ๋‹ค.
  • ์ฆ‰, ์กฐ๊ฑด๋ฌธ์ด ์ฐธ์ธ ๊ฒฝ์šฐ ์ปดํŒŒ์ผ๋  ์†Œ์Šค์ฝ”๋“œ์— ์กฐ๊ฑด๋ฌธ์˜ ๋ฌธ์žฅ์ด ํฌํ•จ์ด ๋˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋Š”๊ฒƒ์ด๋‹ค.
  • ์ฃผ์˜: ์กฐ๊ฑด๋ฌธ์€ ์„ ํ–‰์ฒ˜๋ฆฌ๊ณผ์ •์—์„œ ์ง„์œ„ ์—ฌ๋ถ€๋ฅผ ํŒ๋‹จํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ณ€์ˆ˜ ์ง€์ •์ด๋‚˜ ํ•จ์ˆ˜ ํ˜ธ์ถœ์ด ๋ถˆ๊ฐ€๋Šฅํ•จ.
  • ์กฐ๊ฑด๋ถ€ ์ปดํŒŒ์ผ์€ ์กฐ๊ฑด์œผ๋กœ ์”Œ์ด๋Š” ๊ฐ’ ์ž์ฒด๊ฐ€ ํ•„์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋งคํฌ๋กœ ๊ธฐ๋Šฅ์„ ๋ฐ˜๋“œ์‹œ ํ™œ์šฉ์„ ํ•˜๊ฒŒ ๋œ๋‹ค.

[ ์กฐ๊ฑด๋ถ€ ์ปดํŒŒ์ผ ํ™œ์šฉ ์˜ˆ ]

#include <stdio.h>
#define DEBUG_MODE 1 // 1์€ ์ฐธ์œผ๋กœ๋„ ์”Œ์ž„
int main() {
    int a = 10, b = 20;
    #if DEBUG_MODE
        printf("ํ‰๊ท ์„ ๊ตฌํ•  ๊ฐ’: %d, %d\n", a, b);
    #endif
        printf("ํ‰๊ท  = %f\n", (a + b)/2.0);
}
// ์กฐ๊ฑด์— ๋งž๊ฒŒ ๋  ๊ฒฝ์šฐ ํ•ด๋‹น ์ฝ”๋“œ๋กœ ์ปดํŒŒ์ผ์ด ์ง„ํ–‰ ๋จ.
int main() {
    int a = 10, b = 20;
    printf("ํ‰๊ท ์„ ๊ตฌํ•  ๊ฐ’: %d, %d\n", a, b);
    printf("ํ‰๊ท  = %f\n", (a + b)/2.0);
}
  • ์กฐ๊ฑด์— ๋งž์„ ๊ฒฝ์šฐ ํ•ด๋‹น ์กฐ๊ฑด์— ๋งž๋Š” ์ฝ”๋“œ๋กœ ์น˜ํ™˜์ด ๋˜๋ฉฐ, ํ•ด๋‹น ์ฝ”๋“œ๊ฐ€ ์ดํ›„์— ์ปดํŒŒ์ผ์ด ๋˜๊ฒŒ ๋จ.

'๐Ÿ› ๏ธBackend > โš™๏ธC' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[C] C ์–ธ์–ด์˜ ๊ฐœ์š”  (1) 2025.08.18
'๐Ÿ› ๏ธBackend/โš™๏ธC' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [C] C ์–ธ์–ด์˜ ๊ฐœ์š”
junbin2
junbin2
java.lang.NullPointerException
  • junbin2
    bin's Development Diary
    junbin2
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ์ „์ฒด๋ณด๊ธฐ (169)
      • ๐ŸŽ“๋ฐฉ์†กํ†ต์‹ ๋Œ€ํ•™๊ต (35)
        • โš™๏ธ์ปดํ“จํ„ฐ์˜ ์ดํ•ด (11)
        • ๐Ÿ’ป์ปดํ“จํ„ฐ๊ณผํ•™ ๊ฐœ๋ก  (5)
        • ๐Ÿ”ข์ž๋ฃŒ๊ตฌ์กฐ (4)
        • ๐ŸŒ์œ ๋น„์ฟผํ„ฐ์Šค ์ปดํ“จํŒ… (11)
        • ๐Ÿ›๏ธ์„ธ๊ณ„์˜์ •์น˜์™€๊ฒฝ์ œ (3)
        • ๐Ÿ–ฅ๏ธ์ปดํ“จํ„ฐ๊ณผํ•™๊ณผ (1)
      • ๐Ÿ› ๏ธBackend (58)
        • ๐Ÿ“š๋ฐฑ์—”๋“œ ๊ณต๋ถ€ (4)
        • โ˜•Java (23)
        • ๐ŸŒณSpring (13)
        • โš™๏ธC (2)
        • โšกPython (13)
        • JavaScript (1)
        • ๐Ÿ›ข๏ธDatabase (0)
        • Algorithm Problem Solving (2)
      • ๐ŸŒ Network (7)
        • ๐Ÿ“œHTTP (7)
      • ๐Ÿš€DevOps (1)
      • โ›บ์ŠคํŒŒ๋ฅดํƒ€์ฝ”๋”ฉํด๋Ÿฝ (64)
      • ์ •๋ณด (2)
      • ์ •๋ฆฌ๊ฐ€ ํ•„์š”ํ•œ ๊ธ€ (2)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
  • ๋งํฌ

    • GitHub
  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    ๋ฐฐ์—ด
    ๋ฐฉํ†ต๋Œ€
    ์Šคํ”„๋ง
    ์ž๋ฐ”
    ์œ ๋น„์ฟผํ„ฐ์Šค ์ปดํ“จํŒ…๊ฐœ๋ก 
    spring
    Java
    ์ž…์ถœ๋ ฅ
    ๋ฐฉ์†กํ†ต์‹ ๋Œ€ํ•™๊ต
    ์ž๋ฃŒ๊ตฌ์กฐ
    Python
    ์ปดํ“จํ„ฐ์˜ ์ดํ•ด
    ๋ฐฉ์†ก๋Œ€
    ์šด์˜์ฒด์ œ
    ์œ ๋น„์ฟผํ„ฐ์Šค
    ํด๋ผ์šฐ๋“œ
    Spring Framework
    ์œ ๋น„์ฟผํ„ฐ์Šค ์ปดํ“จํŒ…
    ์ปดํŒŒ์ผ๋Ÿฌ
    ํŒŒ์ด์ฌ
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.1
junbin2
[C] ์ž๋ฃŒํ˜•๊ณผ ์„ ํ–‰์ฒ˜๋ฆฌ๊ธฐ
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”