http://www.hackerschool.org/HS_Boards/zboard.php?id=Free_Lectures&no=747 [º¹»ç]
¹è¿(array)
C¿¡¼ ¹è¿À» ¾ÆÁÖ ´Ü¼øÇÑ ±¸Á¶·Î Á¤ÀÇ ÇÏ¿´´Ù.
¿¬¼ÓµÈ ¸Þ¸ð¸® °ø°£À» Â÷ÁöÇÏ´Â °°Àº µ¥ÀÌÅÍÇüµéÀÇ ÁýÇÕÀÌ ±× Á¤ÀÇÀÌ´Ù. ±× ÀÌ»óµµ ±× ÀÌÇϵµ ¾Æ´Ï´Ù.
¿ì¼± ¹è¿Àº Á¤ÀûÀÎ µ¥ÀÌÅÍÇüÀÌ´Ù. ¼Ò½º ÄÚµå »ó¿¡¼ ¹Ýµå½Ã ±× Å©±â¸¦ ¹Ì¸® Á¤Çصξî¾ß ÇÑ´Ù´Â ¸»ÀÌ´Ù. ÄÄÆÄÀÏ·¯´Â ÀÌ Á¤ÇØÁø Å©±â¸¸Å °ø°£¸¸À» È®º¸ÇÏÁö ±× ÀÌ»óÀÇ Á¶Ä¡´Â ÇÏÁö ¾Ê´Â´Ù.
Á¤ÀÇ
µ¥ÀÌÅÍÇü ¹è¿¸í[¹è¿ÀÇ Å©±â];
ex) int array[10];
À§¿Í °°ÀÌ Á¤ÀǵǾúÀ» ¶§ array¶ó´Â ¹è¿ À̸§Àº ´Ü µÎ °¡ÁöÀÇ ÀÇ¹Ì ¹Û¿¡ ¾ø´Ù. ù°´Â array¶ó´Â ¹è¿¸íÀº 10°³ÀÇ Á¤¼ö°¡ ÀúÀåµÈ °ø°£ÀÇ ¼±µÎ ¹øÁö¸¦ ÀǹÌÇÏ´Â °ÍÀÌ°í, µÑ°·Î sizeof(array)¿Í °°ÀÌ ÇÏ¸é ¹è¿ÀÇ Å©±â, Áï intÇüÀÌ ¸î °³³ª ÀúÀåµÉ ¼ö Àִ°¡ ÇÏ´Â 10À̶ó´Â °ªÀ» ³ªÅ¸³¾ »ÓÀÌ´Ù. ±× ÀÌ¿ÜÀÇ ¹è¿¿¡ ´ëÇÑ Á¶ÀÛÀº ¸ðµÎ Æ÷ÀÎÅÍÀÇ Á¶ÀÛÀ¸·Î ´ëÄ¡µÈ´Ù.
C¿¡¼´Â ¹è¿ÀÇ ¾î¶°ÇÑ Ã·ÀÚÀÇ °Ë»çµµ ÇÏÁö ¾Ê´Â´Ù. array[-1]°°Àº °Íµéµµ ¿¡·¯¸¦ ³»Áö ¾Ê´Â´Ù. ÀÌÁ¡Àº C¿¡¼ ¹è¿À» ´Ù·ç´Â ¹æ¹ý¿¡ ÀÇÇÑ °ÍÀ̸ç ÀÌ °°Àº Á¡ÀÌ Ãʺ¸ÀÚ¿¡°Ô´Â ±²ÀåÇÑ È¥¶õÀ» ÁÙ ¼ö ÀÖÁö¸¸ À̰͵µ CÀÇ À¶Å뼺¿¡ Æ÷ÇԵǴ °ÍÀÌ´Ù.
¹è¿ÀÇ Ã·ÀÚ¿¡ ´ëÇÑ Ã³¸®´Â Æ÷ÀÎÅÍ¿¡ ´ëÇÑ Ã³¸®·Î ´ëÄ¡ µÈ´Ù.
array[4]¿Í °°Àº °ÍÀº *(array+4)¿Í ¿ÏÀüÈ÷ µ¿ÀÏÇÏ´Ù.
1Â÷¿ø ¹è¿
¹è¿ÀÇ Â÷¼ö´Â ¹è¿ ¿ä¼Ò¸¦ ÁöÁ¤Çϴµ¥ ¸î °³ÀÇ Ã·ÀÚ°¡ ÇÊ¿äÇÏ´À³Ä¿¡ ÀÇÇؼ °áÁ¤µÈ´Ù.
»ý¼ºµ¿½Ã¿¡ ÃʱâÈ ÇÒ ¼ö ÀÖ´Ù.
int array[10]={1,2,3,4,5,6,7,8,9,0};
´ÙÂ÷¿ø¹è¿
´ÙÂ÷¿ø ¹è¿Àº °¢ ¹è¿ ¿ä¼Ò¸¦ ÁöÁ¤Çϴµ¥ ¿©·¯ °³ÀÇ Ã·ÀÚ ¿ä¼Ò°¡ ¾²ÀÌ´Â ¹è¿À» ¸»ÇÑ´Ù.
º¸Åë 2Â÷¿ø°ú 3Â÷¿ø ¹è¿ÀÌ ¸¹ÀÌ ¾²ÀÌ°í ±× ÀÌ»óÀº »ç¿ëÀÌ µå¹°´Ù.
int array2[3][3] = {{1,2,3},{4,5,6},{7,9,8}};
¾Õ¿¡ ÷ÀÚ´Â ÇàÀ» ³ªÅ¸³»¸ç µÚ¿¡ ÷ÀÚ´Â ¿À» ³ªÅ¸³½´Ù.
±×·¯³ª ¸Þ¸ð¸®¿¡ ¿Ã¶ó°¥ ¶§´Â ¸Þ¸ð¸®°¡ ¼±Çü ±¸Á¶±â ¶§¹®¿¡ ¸¶Ä¡ 1Â÷¿ø ¹è¿Ã³·³ ÀúÀåÀÌ µÈ´Ù. 1,2,3,4,5,6,7,8,9,0 ÀÌ·± ½ÄÀ¸·Î ÀúÀåÀÌ µÈ´Ù.
¹è¿ÀÇ Á¦ÀÏ Ã³À½°ø°£À» ÁÖ¼Ò¶ó°í Çߴµ¥ array2+1¸¦ Çϸé 2¸¦ °¡¸£Ä¡´Â °ÍÀÌ ¾Æ´Ï¶ó 4¸¦ ³ªÅ¸³½´Ù. array2´Â 3°³ÀÇ intÇü °ø°£À» °¡¸£Å°°Ô µÈ´Ù.
CÀÇ ¹®¹ýÀº ¿ÏÀüÈ÷ Àç±ÍÀû À̶ó´Â °ÍÀ» »ý°¢Çϸé 2Â÷¿ø ¹è¿ÀÌ ÀÌ·± º¹ÀâÇÑ ±¸Á¶¸¦ °®´Â´Ù´Â µ¥¿¡ ¼ö±àÀÌ °¥ °ÍÀÌ´Ù.
1Â÷¿ø ¹è¿À» ÇÔ¼öÀÇ ÀÎÀÚ·Î ³Ñ±â´Â ¹æ¹ý
int average(int a[],int n)
{
int sum=0;
int i;
for(i=0; i < n;i++)
sum+=a[i];
return (sum/n);
}
C¿¡¼ ¹è¿ÀÇ Å©±â´Â ¸Þ¸ð¸® °ø°£À» ÇÒ´çÇÒ ¶§¸¸ ÇÊ¿äÇÏÁö ½ÇÇà½Ã¿¡´Â ¹è¿ÀÇ Å©±â¿¡
´ëÇؼ ÄÄÆÄÀÏ·¯°¡ ½Å°æ½áÁÖÁö ¾Ê´Â´Ù. ±×·¡¼ ÇÔ¼ö°¡ ¹è¿À» ÀÎÀÚ·Î ¹ÞÀ» ¶§ ±×¹è¿ÀÌ ¸î °³ÀÇ ¿ä¼Ò¸¦ °¡Áö´ÂÁö´Â ÀüÇô ¾Ë ¹æ¹ýÀÌ ¾ø´Ù. ÀÌ·± À¯·Î average()ÇÔ¼ö´Â nÀ̶ó´Â ¹è¿ÀÇ Å©±â¸¦ ÀÎÀÚ·Î µû·Î ¹Þ´Â´Ù. ±×¸®°í ÀÎÀÚ·Î ¹Þ´Â ¹è¿ a¿¡µµ []·Î ¹è¿Ç¥½Ã¸¸ ÇßÁö Å©±â¸¦ ¸í½ÃÇÏÁö ¾ÊÀ½À» ¾Ë ¼ö ÀÖ´Ù.(Å©±â¸¦ ¸í½ÃÇصµ ÄÄÆÄÀÏ·¯´Â ÀÌ°ÍÀ» ¹«½ÃÇÑ´Ù.)
¹°·Ð ¹è¿ ÀÚü¿¡ ¹è¿ÀÇ ³¡À» ³ªÅ¸³»´Â ¿ä¼Ò°¡ ÀÖÀ¸¸é ¹è¿ÀÇ Å©±â¸¦ ³Ñ±æ ÇÊ¿ä°¡ ¾ø´Ù.
°¡Àå ±¸Ã¼ÀûÀÎ ¿¹°¡ ¹Ù·Î ¹®ÀÚ¿À» ´Ù·ç´Â ¹æ½ÄÀÌ´Ù. ¹®ÀÚ¿ ³¡¿¡´Â NULL ¹®ÀÚ°¡ ³¡¿¡ ºÙ¾î Àֱ⠶§¹®ÀÌ´Ù. ¹è¿À» ÀÐ¾î °¡´Ù°¡ NULLÀÌ ÀоîÁö¸é ¹è¿ÀÇ ³¡ÀÓÀ» ¾Ë°Ô µÇ´Â °ÍÀÌ´Ù.
int average(int *a, int n) //Æ÷ÀÎÅͷΠǥÇö
2Â÷¿ø ¹è¿À» ÇÔ¼öÀÇ ÀÎÀÚ·Î ³Ñ±â´Â ¹æ¹ý
2Â÷¿ø ¹è¿À» ÇÔ¼öÀÇ ÀÎÀÚ·Î ³Ñ±â´Â ¹æ¹ýÀº ÁÖÀǸ¦ ¿äÇÑ´Ù. C´Â ÇÁ·Î±×·¥ÀÌ ½ÇÇàÇÑ µÚ¿¡´Â ¹è¿ÀÇ Å©±â¸¦ ¸ð¸¥´Ù°í ÇÏ¿´±â ¶§¹®¿¡ 1Â÷¿ø ¹è¿¿¡¼´Â ÇÔ¼öÀÇ ÀÎÀÚ·Î ¹è¿À» ³Ñ±æ ¶§ ¹è¿ÀÇ Å©±â¸¦ ¸í½ÃÇÏÁö ¾Ê°í µû·Î ¹è¿ÀÇ Å©±â¸¦ Á¤¼ö·Î ³Ñ°ÜÁÖ¾ú´Ù.
ÇÏÁö¸¸ 2Â÷¿ø ¹è¿Àº ¾óÇͺ¸¸é ±× ¿øÄ¢¿¡ ¾î±ß³ª´Â °Í °°´Ù.
2Â÷¿ø ¹è¿Àº ¾óÇͺ¸¸é ±× ¿øÄ¢¿¡ ¾î±ß³ª´Â °Í °°´Ù.
2Â÷¿ø ¹è¿À» »ç¿ëÇÏ´Â °¡Àå ºó¹øÇÑ ¿¹´Â Çà·ÄÀÌ´Ù. ´ÙÀ½ÀÇ input_matrix() ÇÔ ¼ö´Â 2*2 Çà·ÄÀ» Å°º¸µå·Î ÀÔ·Â ¹Þ´Â ÇÔ¼öÀÌ´Ù.
void input_matrix (int m[][2],int n)
{
int i, j;
printf(¡°\n input %d by %d Matrix in row order ->¡±,n,n);
for (i=0; i<n ; i++)
for(j=0; j<n; j++)
scanf(¡°%d¡±,&m[i][j]);
}
¹è¿ÀÇ Å©±â¸¦ ¸ð¸¥´Ù°í Çߴµ¥ À§ÀÇ input_matrix() ÇÔ¼öÀÇ ÀÎÀÚ¿¡´Â int m[][2]¶ó°í ¾²¿© ÀÖ¾î 2¶ó´Â Å©±â°¡ µé¾î°¬À½À» ¾Ë ¼ö ÀÖ´Ù.
mÀ» Æ÷ÀÎÅͶó°í º¸¾ÒÀ» ¶§ int m[][2]ÀÇ Ç¥ÇöÀº mÀÌ µÎ °³ÀÇ intÇüÀÇ °ø°£À» °¡¸®Å°´Â Æ÷ÀÎÅÍÀÌ´Ù. Áï m[][2]ÀÇ Ç¥ÇöÀº ¹è¿ÀÇ Å©±â¸¦ ³ªÅ¸³½ °ÍÀÌ ¾Æ´Ï¶ó mÀÌ ¾î¶² ÇüÀÇ µ¥ÀÌÅ͸¦ °¡¸®Å°´Â Æ÷ÀÎÅÍÀÎÁö ³ªÅ¸³»´Â °ÍÀÌ´Ù.
ÀÌ°ÍÀ» Æ÷ÀÎÅͷΠǥÇöÇϸé
void input_matrix(int *(m[2]),int n)
Æ÷ÀÎÅͷΠǥÇöÇÏ´Ï ´õ Àǹ̰¡ ¸íÈ®ÇÏ´Ù. 2°³ÀÇ int °ø°£À» °¡¸®Å°´Â Æ÷ÀÎÅÍ mÀÇ Á¤Ã¼°¡ Çп¬È÷ µå·¯³´Ù.
´ÙÂ÷¿ø ¹è¿À» ÇÔ¼öÀÇ ÀÎÀÚ·Î ³Ñ±â´Â ¹æ¹ý
´ÙÂ÷¿ø ¹è¿Àº 2Â÷¿ø ¹è¿À» ÇÔ¼öÀÇ ÀÎÀÚ·Î ³Ñ±â´Â ¹æ¹ýÀÇ ¿¬Àå¼±»ó¿¡ ÀÖ´Ù. Áï ´ÙÂ÷¿ø ¹è¿À» ÇÔ¼öÀÇ ÀÎÀÚ·Î ³Ñ±æ ¶§¿¡´Â 2Â÷¿ø ¹è¿°ú ¸¶Âù°¡Áö·Î °¡Àå Å« ºí·ÏÀ» °¡¸®Å°´Â ÃÖÁÂÃø ÷ÀÚ¸¦ ºñ¿öµÎ°í ³ª¸ÓÁö ÷ÀÚ´Â ±× Å©±â¸¦ ¸í½ÃÇÏ´Â °ÍÀÌ´Ù.
int tri[3][4][2];
int func(int t[][4][2])
{
¡¦¡¦¡¦.
}
|
Hit : 7478 Date : 2007/06/14 09:36
|