[C] Memory Leak

2025. 6. 4. 01:56ยท๐Ÿƒ‍โ™€๏ธ Activities/42 Cursus

๋ฉ”๋ชจ๋ฆฌ ๋ฆญ(Memory Leak)

๋™์ ์œผ๋กœ ํ• ๋‹นํ•œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ•ด์ œํ•˜์ง€ ์•Š์•„์„œ, ๋” ์ด์ƒ ์ ‘๊ทผํ•  ์ˆ˜ ์—†์ง€๋งŒ ํ”„๋กœ๊ทธ๋žจ์ด ์ข…๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ณ„์† ์ฐจ์ง€ํ•˜๋Š” ํ˜„์ƒ์ด๋‹ค.

malloc, calloc, realloc ๋“ฑ์œผ๋กœ ํž™ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ• ๋‹นํ•ด๋†“๊ณ , ๋‚˜์ค‘์— free()๋กœ ํ•ด์ œํ•˜์ง€ ์•Š์œผ๋ฉด ๊ทธ ๋ฉ”๋ชจ๋ฆฌ๋Š” ํ”„๋กœ๊ทธ๋žจ์ด ๋๋‚  ๋•Œ๊นŒ์ง€ ๊ณ„์† ์ฐจ์ง€ํ•˜๊ณ  ๋‚จ์•„ ์žˆ๊ฒŒ ๋œ๋‹ค.

๊ทธ๋Ÿฐ๋ฐ ์šฐ๋ฆฌ๋Š” ๊ทธ ์ฃผ์†Œ๋ฅผ ์žƒ์–ด๋ฒ„๋ ธ๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค์‹œ๋Š” ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋‹ค. ์ฆ‰, ์“ธ ์ˆ˜๋„ ์—†๊ณ  ๋Œ๋ ค์ค„ ์ˆ˜๋„ ์—†๋Š” ์œ ๋ น ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋˜๋Š” ๊ฒƒ์ด๋‹ค.

 

์˜ˆ์‹œ

char *str = malloc(100); // 100๋ฐ”์ดํŠธ ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น

// str์— ์ ‘๊ทผ ๋ถˆ๊ฐ€ํ•ด์ง€๊ฑฐ๋‚˜
str = NULL; // ์›๋ž˜ ํ• ๋‹น๋œ 100๋ฐ”์ดํŠธ๋Š” ๋” ์ด์ƒ ์ ‘๊ทผ ๋ถˆ๊ฐ€

// ํ˜น์€
return; // ํ•จ์ˆ˜๊ฐ€ ๋๋‚ฌ๋Š”๋ฐ๋„ free()๋ฅผ ์•ˆ ํ•จ

 

๋ฌธ์ œ

  • ๋ฐ˜๋ณตํ•  ์ˆ˜๋ก ์ ์  ๋А๋ ค์ง„๋‹ค. ํ•ด์ œ๋˜์ง€ ์•Š์€ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๊ณ„์† ์Œ“์—ฌ์„œ ์‹œ์Šคํ…œ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋ถ€์กฑํ•ด์ง€๊ณ  ํ”„๋กœ๊ทธ๋žจ์ด ๋ฒ„๋ฒ…์ธ๋‹ค.
  • ํ”„๋กœ๊ทธ๋žจ ์ข…๋ฃŒ ํ›„์—๋„ ๋ฆญ์ด ์กด์žฌํ•œ๋‹ค. OS๊ฐ€ ๋Œ€๋ถ€๋ถ„ ํšŒ์ˆ˜ํ•˜์ง€๋งŒ, ์ผ๋ถ€ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ๋ฆฌ์†Œ์Šค๋‚˜ ์™ธ๋ถ€ ์ž์›(socket, file ๋“ฑ)์€ ๋‚จ์„ ์ˆ˜ ์žˆ๋‹ค.

 

'๐Ÿƒโ€โ™€๏ธ Activities > 42 Cursus' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Born2beroot] ๊ธฐ๋ณธ ์„ค์ •  (0) 2025.06.22
[Born2beroot] ํ”„๋กœ์ ํŠธ ๊ฐœ์š”  (0) 2025.06.22
[get_next_line][C] read & write ํ•จ์ˆ˜  (0) 2025.06.04
[get_next_line][C] static ํ•จ์ˆ˜ & ๋ณ€์ˆ˜  (0) 2025.06.04
[get_next_line][C] open ํ•จ์ˆ˜  (0) 2025.06.04
'๐Ÿƒ‍โ™€๏ธ Activities/42 Cursus' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [Born2beroot] ๊ธฐ๋ณธ ์„ค์ •
  • [Born2beroot] ํ”„๋กœ์ ํŠธ ๊ฐœ์š”
  • [get_next_line][C] read & write ํ•จ์ˆ˜
  • [get_next_line][C] static ํ•จ์ˆ˜ & ๋ณ€์ˆ˜
0=2.
0=2.
  • 0=2.
    0=2
    0=2.
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (104)
      • ๐Ÿ“‚ Project (2)
        • Paint the City (2)
      • ๐Ÿ’ญ Problem Solving (42)
        • C++ (28)
        • Java (14)
      • ๐Ÿ“ Study (17)
        • React (1)
        • Java (16)
      • ๐Ÿ’ป CS (11)
        • ๋ฉด์ ‘์„ ์œ„ํ•œ CS ์ „๊ณต์ง€์‹ ๋…ธํŠธ (2)
        • ์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ (9)
      • ๐Ÿƒ‍โ™€๏ธ Activities (32)
        • Web Front-End Basic Study (6)
        • 42 Cursus (26)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

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

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

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    knapsack
    dynamic programming
    BFS
    CSS
    ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜
    ๋งต
    ๋ธŒ๋ฃจํŠธํฌ์Šค
    42๊ฒฝ์‚ฐ
    ์ •๋ ฌ
    ์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ
    react
    ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
    swea
    ํŠธ๋ฆฌ
    unity
    java
    git
    dfs
    makefile
    VR
    La Piscine
    ๋ฐฑํŠธ๋ž˜ํ‚น
    C
    ๊ตฌํ˜„
    ๋ฐฑ์ค€
    .h
    HTML
    ์‹œ๋ฎฌ๋ ˆ์ด์…˜
    github
    CS
  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
0=2.
[C] Memory Leak
์ƒ๋‹จ์œผ๋กœ

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