Áï, C ¾ð¾î ¹®¹ý¿¡ ¸ÂÁö ¾Ê´Â °Í¸¸ ¾Ë·ÁÁÖÁö¿ä.
³í¸®Àû ¿À·ù (logic error) Áï, ÇÁ·Î±×·¥ ¼öÇà»óÀÇ ¹®Á¦´Â ÄÄÆÄÀÏ·¯°¡ ¾Ë·ÁÁÖÁö ¸øÇÕ´Ï´Ù.
´Ù¸¥ ¸»·Î, ÄÄÆÄÀϽÃÀÇ ¿À·ù¸¦ compile time error¶ó°í ºÎ¸£±âµµ ÇÏ°í ½ÇÇà½Ã ¿À·ù¸¦ runtime error ¶ó°í
ºÎ¸£±âµµ ÇÕ´Ï´Ù.
"¼¼±×¸àÅ×ÀÌ¼Ç ¿À·ù" µµ runtime error ÀÇ ÇÑÁ¾·ù·Î¼ ÁÖ·Î ¸Þ¸ð¸® °ü·Ã µ¿ÀÛ¿¡ ¿À·ù°¡ ÀÖÀ»¶§ ³³´Ï´Ù.
¿¹¸¦µé¾î,
main() {
int i, data[10];
for(i=0; i<=10; i++) {
data[i] = i;
}
}
À§ ÇÁ·Î±×·¥¿¡¼ ó·³ dataÀÇ ¹è¿À» 10°³·Î Àâ°í data[10] ¿¡ Á¢±ÙÇÏ·ÁÇÒ¶§³ª
int *data; ó·³ pointer º¯¼ö·Î ¼±¾ðÇÏ°í ÁÖ¼Ò°¡ À߸øµÈ °æ¿ì ¹ß»ýÇÕ´Ï´Ù.
±×·¯¹Ç·Î, ¹è¿ÀÇ index ³ª pointer ȤÀº malloc À̳ª callocÀ» »ç¿ëÇßÀ¸¸é ¸Þ¸ð¸® ÇÒ´ç
ÂÊÀ» »ìÆ캸¸é ¿À·ù¸¦ ÀâÀ»¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù.
Âü°í°¡ µÇ¾ú±â¸¦ ¹Ù¶ó°í, Á¤ ¾ÈµÇ¸é ³» ¿¬±¸½Ç(¿¬219È£)·Î ã¾Æ¿À±â ¹Ù¶ø´Ï´Ù.