C,VS2019) _CrtIsValidHeapPointer ¿¡·¯ °ü·Ã Áú¹®µå¸³´Ï´Ù [2]

¡ã ¸Ç¹Ø ¡å
µÎ´ã
¾Æ¹ÙŸ/ÂÊÁö/±Û°Ë»ö

2021-02-22 10:16:39
1 0 2 198

¨Û Ãßõ  ¨á ´ÜÃàURL
¡è º¹»ç ÈÄ ºÙ¿©³ÖÀ¸¼¼¿ä.
 ±â±â¸¦ °¨ÁöÇÏ¿© ÃÖÀû URL ·Î º¸³»ÁÝ´Ï´Ù.
µÎ´ã
https://humoruniv.com/program7777 URL º¹»ç

ÄÚ¸°ÀÌ c Áú¹®µå¸³´Ï´Ù..
malloc£¨£©ÇÔ¼ö¸¦ ÀÌ¿ëÇØ µ¿Àû ¸Þ¸ð¸® ÇÒ´çÀ» Çϰí free·Î ¸Þ¸ð¸®¸¦ ¹ÝȯÇÏ¿´´Âµ¥ CrtlsValidHeapPointer£¨block£©¿À·ù°¡ ¹ß»ýÇÏ¿© free¸Þ¸ð¸®¸¦ ¹ÝȯÇÏ´Â °úÁ¤¿¡¼­ ¹«¾ð°¡°¡ À߸øµÇ¾ú´Ù´Â°ÍÀ» ¾Ë°Ú´Âµ¥, ¹«¾ùÀÌ À߸øµÇ¾ú´ÂÁö ¸ð¸£°Ú½À´Ï´Ù.
microsoft docs Âü°íÇØº¸·Á°í ÇØµµ ¾Æ´Â°Ô ¾øÀ¸´Ï ¤Ð¤Ð ÇØ¼®À» ¸øÇϰڴõ¶ó°í¿ä.°ü·Ã ¿À·ùÀÇ ¿øÀÎ ¹× Àǹ̸¦ ¾Ë ¼ö ÀÖÀ»±î¿ä?

---------------------------------------------------------------------------------------------------------

#define _CRT_SECURE_NO_WARNINGS
#include
#include
#include
//Æ÷ÀÎÅÍ¿¡ °ªµéÀ» ÀÔ·ÂÇÏ°í ±× °ªÀÌ Â¦¼öÀÎÁö ÆÇº°ÇÑ ÈÄ¿¡ ¦¼öÀÎ °æ¿ì ÇÕÇÑ´Ù.

void main£¨£©
{
int* p;//Æ÷ÀÎÅÍ º¯¼ö ¼±¾ð
int i;//¹Ýº¹¹® º¯¼ö
int count;//ÀÔ·ÂÇÒ °ªµéÀÇ °³¼ö
int sum=0;
printf£¨"´õÇÒ ¼öÀÇ °³¼ö¸¦ ÀÔ·ÂÇϼ¼¿ä: "£©;
scanf£¨"%d", &count£©; // ÀÔ·ÂÇÒ °ªµéÀÇ °¹¼ö¸¦ Á¤ÇÑ´Ù
p = £¨int*£©malloc£¨4 * count£©; //sizeofint=4 Á¤¼ö Å©±âÀÇ ¸Þ¸ð¸®¸¦ count°³¸¸Å­ È®º¸ÇÑ´Ù


for £¨i = 0; i < count; i++£©
{
scanf£¨"%d", p + i£©;
if £¨*£¨p + i£© % 2 == 0£©
{
sum = sum + *£¨p + i£©;
}
}
printf£¨"ÀÔ·ÂÇÑ ¼öµé Áß Â¦¼öµéÀÇ ÇÕÀº: "£©;
printf£¨"%d", sum£©;
for £¨i = 0; i < count; i++£©
{
free£¨p + i£©;
}
}


---------------------------------------------------------------

Áú¹®¿¡ ´äº¯Çϱâ

¨Û °Ô ½Ã ¹°    Ãß Ãµ ÇÏ ±â
  ·Î±×ÀÎ ¾øÀÌ Ãßõ°¡´ÉÇÕ´Ï´Ù.
ÃßõµÇ¾ú½À´Ï´Ù.
¨Û Ãßõ   ¨ä ¹Ý´ë   ¨Þ ´ä±Û   ¢Ç ¸ñ·Ï
¡ç µÚ·Î   ¡è ¸ÇÀ§   ¡é ¸Ç¹Ø   ¨· ½Å°í   ¢½ ½ºÅ©·¦
´ä±Û ÀÛ¼ºÇϱâ (·Î±×ÀÎ ÇÊ¿ä)
·Î±×ÀÎ   ¸ÞÀÎ   »çÀÌÆ®¸Ê   PCÈ­¸é