ÄÚ¸°ÀÌ c Áú¹®µå¸³´Ï´Ù..
malloc()ÇÔ¼ö¸¦ ÀÌ¿ëÇØ µ¿Àû ¸Þ¸ð¸® ÇÒ´çÀ» Çϰí free·Î ¸Þ¸ð¸®¸¦ ¹ÝȯÇÏ¿´´Âµ¥ CrtlsValidHeapPointer(block)¿À·ù°¡ ¹ß»ýÇÏ¿© free¸Þ¸ð¸®¸¦ ¹ÝȯÇÏ´Â °úÁ¤¿¡¼ ¹«¾ð°¡°¡ À߸øµÇ¾ú´Ù´Â°ÍÀ» ¾Ë°Ú´Âµ¥, ¹«¾ùÀÌ À߸øµÇ¾ú´ÂÁö ¸ð¸£°Ú½À´Ï´Ù.
microsoft docs Âü°íÇØº¸·Á°í ÇØµµ ¾Æ´Â°Ô ¾øÀ¸´Ï ¤Ð¤Ð ÇØ¼®À» ¸øÇϰڴõ¶ó°í¿ä.°ü·Ã ¿À·ùÀÇ ¿øÀÎ ¹× Àǹ̸¦ ¾Ë ¼ö ÀÖÀ»±î¿ä?
---------------------------------------------------------------------------------------------------------
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<malloc.h>
//Æ÷ÀÎÅÍ¿¡ °ªµéÀ» ÀÔ·ÂÇÏ°í ±× °ªÀÌ Â¦¼öÀÎÁö ÆÇº°ÇÑ ÈÄ¿¡ ¦¼öÀÎ °æ¿ì ÇÕÇÑ´Ù.
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);
}
}
---------------------------------------------------------------