::: Zany's Homepage ::: Zany Wiki | »çÀÌÆ® ÅëÇÕ °Ë»ö
 
 
 

[C] ´ÙÂ÷¿ø(multidimensional) ¹è¿­À» µ¿ÀûÀ¸·Î ÇÒ´ç

°Ô½ÃÆÇ
C/C++ Basics
ÀÛ¼ºÀÚ
slipknot
ÀÛ¼ºÀÏ
2006-02-04 11:54:00
ÀÐÀº¼ö
3160
ÆòÁ¡
   
Ç¥½Ã¿É¼Ç
HTML»ç¿ë | ÀÚµ¿BRűנ| °ø¹é¹®ÀÚÇã¿ë | °¡¿îµ¥Á¤·Ä | °íÁ¤Æø±Û²Ã | ÀÚµ¿URL¸µÅ© | ¸¶¿ì½º¼±ÅÃ
´ÙÂ÷¿ø(multidimensional) ¹è¿­À» µ¿ÀûÀ¸·Î ÇÒ´ç



°¡Àå ³Î¸® ¾²ÀÌ´Â ¹æ¹ýÀº Æ÷ÀÎÅÍÀÇ ¹è¿­À» ÇÒ´çÇÏ°í,
°¢ Æ÷ÀÎÅÍ°¡ µ¿ÀûÀ¸·Î ÇÒ´çÇÑ [¿­(row)]À» °¡¸®Å°°Ô ÇÏ´Â ¹æ¹ýÀÌ´Ù.
´ÙÀ½ ÄÚµå´Â 2Â÷¿ø ¹è¿­À» µ¿ÀûÀ¸·Î ÇÒ´çÇÑ °ÍÀÌ´Ù.

#include <stdlib.h>

int **array1 = malloc(nrows * sizeof(int *));
for (i=0; i<nrows; i++)
  array1[i] = malloc(ncolumns * sizeof(int));

(½ÇÁ¦ Äڵ带 ¾µ ¶§¿¡´Â mallocÀÇ ¸®ÅÏ °ªÀ» °Ë»çÇØ ÁÖ¾î¾ß ÇÑ´Ù)



¹è¿­ÀÇ ³»¿ëÀ» ¿¬¼ÓÀûÀ¸·Î ¸¸µé·Á¸é, °¢°¢ÀÇ ¿­À» µû·Î ÀçÇÒ´çÇؾßÇÏ´Â ¼ö°í¸¦ ÇØ¾ß ÇÑ´Ù.

int **array2 = malloc(nrows * sizeof(int *));
array2[0] = malloc(nrows * ncolumns * sizeof(int));
  for (i = 1; i < nrows; i++)
   array2[i] = array2[0] + i * ncolumns;



µÑ Áß ¾î¶² °ÍÀ̶óµµ, µ¿ÀûÀ¸·Î ÇÒ´çÇÑ ¹è¿­ÀÇ °¢ ¿ä¼Ò´Â
ÀϹÝÀûÀÎ ¹è¿­ subscript ¿¬»êÀÚÀÎ [] ¸¦ ½á¼­ ´Ù·ê ¼ö ÀÖ´Ù.

arrayx[i][j] (ÀÌ ¶§ 0 <= i < nrows ¿Í 0 <= j < ncolumns¸¦ ¸¸Á·ÇØ¾ß ÇÑ´Ù)



À§¿Í °°ÀÌ µÎ¹ø °£Á¢ÀûÀ¸·Î ¸Þ¸ð¸®¸¦ ÇÒ´çÇÏ´Â °ÍÀÌ
¾î¶² ÀÌÀ¯·Î ÀÎÇÏ¿© ºÒ°¡´ÉÇÏ´Ù¸é, ´ÙÀ½°ú °°ÀÌ ¸Þ¸ð¸®¸¦ ÇÑ ¹ø¸¸
ÇÒ´çÇÒ ¼öµµ ÀÖ´Ù. Áï ÀÏÂ÷¿ø ¹è¿­À» ´ÙÂ÷¿ø ¹è¿­·Î Èä³»³»´Â °ÍÀÌ´Ù.

int *array3 = malloc(nrows * ncolumns * sizeof(int));



±×·¯³ª, ÀÌ·± ½ÄÀ¸·Î ¸¸µé¾ú´Ù¸é °¢°¢ÀÇ ¿ä¼Ò¿¡ Á¢±ÙÇϱâ À§ÇØ
¾à°£ÀÇ °è»êÀ» ÇØ¾ß ÇÑ´Ù. (i, j) ¹ø° ¿ä¼Ò¿¡ Á¢±ÙÇϱâ À§Çؼ­´Â
array3[i * ncolumns + j] ¶ó°í ÇØ¾ß ÇÑ´Ù.
(¸ÅÅ©·Î¸¦ ½á¼­ °£ÆíÇÏ°Ô ÇÒ ¼ö ÀÖÁö¸¸ °ýÈ£¿Í Äĸ¶(comma)¸¦
½á¾ß Çϱ⠶§¹®¿¡, ¿ø·¡¿Í °°Àº Ç¥ÇöÀ» ¾µ ¼ö´Â ¾ø´Ù)



¶Ç ´Ù¸¥ ¹æ¹ýÀ¸·Î ¹è¿­¿¡ ´ëÇÑ Æ÷ÀÎÅ͸¦ ¾²´Â ¹ýµµ ÀÖ´Ù.

int (*array4)[NCOLUMNS] = malloc(nrows * sizeof(*array4));

±×·¯³ª ¾²´Â Çü½ÄÀÌ ±î´Ù·Ó°í ½ÇÇà ½Ã°£¿¡ Àû¾îµµ
ÇϳªÀÇ Â÷¿ø(dimension)ÀÌ ÁöÁ¤µÇ¾î¾ß ÇÑ´Ù.

ÀÌ ¸ðµç Å×Å©´Ðµé¿¡¼­ µ¿ÀûÀ¸·Î ÇÒ´çÇÑ ¸Þ¸ð¸®´Â
³ªÁß¿¡ ÀüºÎ ÇØÁ¦(free)½ÃÄÑ ÁÖ¾î¾ß ÇÑ´Ù´Â °ÍÀ» ÀØÀ¸¸é ¾ÈµÈ´Ù.
(¹°·Ð ¿©·¯ ´Ü°è°¡ ÇÊ¿äÇÒ ¼öµµ ÀÖ´Ù)

±×¸®°í µ¿ÀûÀ¸·Î ÇÒ´çÇÑ ¹è¿­°ú Á¤ÀûÀ¸·Î ÇÒ´çµÈ º¸Åë ¹è¿­°ú
¹Ýµå½Ã ¼¯¾î¾µ ¼ö ÀÖ´Â °Íµµ ¾Æ´Ï´Ù.

¸¶Áö¸·À¸·Î C9X¿¡¼­´Â Å©±â º¯°æÀÌ °¡´ÉÇÑ ¹è¿­À» Áö¿øÇÑ´Ù.

¿©±â¿¡¼­ ¾ð±ÞÇÑ ¸ðµç Å×Å©´ÐµéÀº »ïÂ÷¿ø ¶Ç´Â
±× ÀÌ»óÀÇ Â÷¿øÀÇ ¹è¿­¿¡µµ Àû¿ëÇÒ ¼ö ÀÖ´Ù.

 °Ô½ÃÆÇ ±Û ¸ñ·Ï
No Subject Poster Hits Posted
707 slipknot 3832 2006-02-04 11:55:29
706 slipknot 9300 2006-02-04 11:55:13
705 slipknot 3164 2006-02-04 11:54:54
704 slipknot 5010 2006-02-04 11:54:37
703 slipknot 2661 2006-02-04 11:54:14
slipknot 3160 2006-02-04 11:54:00
701 slipknot 4689 2006-02-04 11:53:29
700 slipknot 2761 2006-02-04 11:53:06
699 slipknot 23658 2006-02-04 11:52:38
698 slipknot 17938 2006-02-04 11:52:17
697 slipknot 17028 2006-02-04 11:51:55
ÄÚ¸àÆ®
ÀÛ¼ºÀÚ
                       
 
zany.kr
  Copyright ¨Ï 2002-2010 Zany's Programming Lab. All Rights Not Reserved.
temporary This Page loads on 0.016 Secs