ÀÌÂ÷¿ø ¹è¿À» [Æ÷ÀÎÅ͸¦ °¡¸®Å°´Â Æ÷ÀÎÅÍ] ¸¦ ÀÎÀÚ·Î ¹Þ´Â ÇÔ¼ö¿¡ Àü´ÞÇϸé, °æ°í¸¦ ¹ß»ý.
¹è¿ÀÌ Æ÷ÀÎÅÍ·Î º¯°æµÈ´Ù´Â ±ÔÄ¢Àº Àç±ÍÀûÀ¸·Î(recursively) Àû¿ëµÇÁö ¾Ê´Â´Ù. ¹è¿·Î ÀÌ·ç¾îÁø ¹è¿Àº (C ¾ð¾î¿¡¼ ÀÌÂ÷¿ø ¹è¿) ¹è¿À» °¡¸®Å°´Â Æ÷ÀÎÅÍ·Î º¯°æµÇÁö, Æ÷ÀÎÅ͸¦ °¡¸®Å°´Â Æ÷ÀÎÅÍ·Î º¯°æµÇ´Â °ÍÀÌ ¾Æ´Ï´Ù.
¹è¿À» °¡¸®Å°´Â Æ÷ÀÎÅÍ´Â ¸Å¿ì ¾î·Á¿ì¹Ç·Î Á¶½ÉÈ÷ ´Ù·ç¾î¾ß ÇÑ´Ù.
ÇÔ¼ö¿¡ ÀÌÂ÷¿ø ¹è¿À» Àü´ÞÇÑ´Ù¸é:
int array[NROWS][NCOLUMNS]; f(array);
ÇÔ¼öÀÇ ¼±¾ðÀº ´ÙÀ½°ú °°¾Æ¾ß ÇÑ´Ù.
void f(int a[][NCOLUMNS]) { ... }
¶Ç´Â ´ÙÀ½°ú °°¾Æ¾ß ÇÑ´Ù. void f(int (*ap)[NCOLUMNS]) /* ap is a pointer to an array */ { ... }
ù¹ø° ¼±¾ð¿¡¼ ÄÄÆÄÀÏ·¯´Â [¹è¿·Î ÀÌ·ç¾îÁø ¹è¿]À» [¹è¿À» °¡¸®Å°´Â Æ÷ÀÎÅÍ]·Î ¹Ù²Ù¾î ÁØ´Ù.
µÎ¹ø° ¼±¾ðÀº ¸í¹éÇÏ´Ù. ºÒ·ÁÁö´Â ÇÔ¼ö´Â ¹è¿À» À§ÇÑ Ãß°¡ÀûÀÎ ¸Þ¸ð¸® ÇÒ´çÀÌ ÀÌ·ç¾îÁöÁö ¾ÊÀ¸¹Ç·Î, ¹è¿ÀÇ Å©±â³ª, ¹è¿ÀÇ Çà(row)ÀÇ Å©±â, ÇàÀÇ °¹¼ö¸¦ ¾Ë ÇÊ¿ä°¡ ¾ø´Ù. ±×·¯³ª, ¹è¿ÀÇ Æø(column)Àº ¸Å¿ì Áß¿äÇÏ´Ù. µû¶ó¼ NCOLUMNS´Â (»ïÂ÷¿ø ÀÌ»óÀÇ ¹è¿¿¡¼´Â ù¹ø° ¿ÀÇ ¼ö¸¦ Á¦¿ÜÇÏ°í´Â ´Ù À¯ÁöµÇ¾î¾ß ÇÔ)À¯ÁöµÇ¾î¾ß ÇÑ´Ù.
ÇÔ¼ö°¡ ÀÌ¹Ì [Æ÷ÀÎÅ͸¦ °¡¸®Å°´Â Æ÷ÀÎÅÍ]¸¦ ¹Þµµ·Ï ¼±¾ðµÇ¾î ÀÖ´Ù¸é ¿©±â¿¡ ÀÌÂ÷¿ø ¹è¿À» Á÷Á¢ Àü´ÞÇÏ´Â °ÍÀº ¹«ÀǹÌÇÏ´Ù.
|
|
|