(½Ç½À6) Æ÷ÀÎÅÍ
³»¿ë: ´ÙÀ½°ú °°ÀÌ Æ÷ÀÎÅÍÀÇ °³³äÀ» ÀÌÇØÇÏ´Â ÇÁ·Î±×·¥À» ÀÛ¼ºÇÏ°í ½ÇÇà½ÃÄÑ È®ÀÎÇϽÿÀ.
1) global variable ·Î int *int_p1; ¸¦ ¼±¾ðÇÏ°í int_p1 ¿¡ mallocÀ¸·Î ¸Þ¸ð¸® ÇÒ´çÀ» ÇϽÿÀ.
- malloc ÀÌ ½ÇÆÐÇÏ¿´À» °æ¿ì Á¾·áÇÏ´Â ÇÁ·Î±×·¥µµ ³ÖÀ¸½Ã¿À.
2) int_p1 ÀÇ °ªÀ» ȸ鿡 Ãâ·ÂÇϽÿÀ.
- int_p1 ÀÇ °ªÀº mallocÀ¸·Î ÇÒ´ç¹ÞÀº ÁÖ¼Ò °ªÀÓ
- ÁÖ¼Ò´Â ÀϹÝÀûÀ¸·Î 16Áø¼ö·Î Ãâ·ÂÇÏ°í ÁÖ¼Ò´Â ¾Õ¿¡ 0ÀÌ ÀÖÀ¸¹Ç·Î 0x%08X ·Î Ãâ·Â
3) local variable ·Î int x=4, y=5, sum; À» ¼±¾ðÇϽÿÀ.
4) ´ÙÀ½°ú °°ÀÌ addÇÔ¼ö¸¦ call Çϸé x ¿Í y °ªÀ» ´õÇؼ sum ¿¡ ³Ö´Â ÇÁ·Î±×·¥À» ÀÛ¼ºÇϽÿÀ.
- add(x, y, &sum);
5) sum °ªÀ» Ãâ·ÂÇؼ Àß ´õÇØÁ³´ÂÁö È®ÀÎÇϽÿÀ.
6) int kk[10]={1,2,3,4}, *a_p; ¸¦ ¼±¾ðÇϽÿÀ.
- a_p °¡ kkÀÇ Ã¹ ¹è¿ÀÇ ¿ä¼Ò¸¦ °¡¸®Å°°Ô ÇϽÿÀ.
- *(a_p + 2) ¿Í a_p[2] ¸¦ ȸ鿡 Ãâ·ÂÇϽÿÀ.
(Ãâ·ÂµÇ´Â °ªÀ» È®ÀÎÇϽÿÀ. °°½À´Ï±î? °°À¸¸é ¿Ö °°ÀºÁö ¼³¸íÇϽÿÀ.)
- a_p ¿Í (a_p + 2) ¹× a_p[2] ÀÇ ÁÖ¼Ò¸¦ ȸ鿡 Ãâ·ÂÇØ È®ÀÎÇϽÿÀ.
Ãß°¡: (°¡Àå ¸ÕÀú ÇÁ·Î±×·¥À» ÀÛ¼ºÇÏ°í ¼³¸íÇÑ Çлý¿¡°Ô 1Á¡)
1) int num_a[5]={20,80,90,50,10}, num_b[5]={40,30,60,70,100};
int *p;
- 10°³ÀÇ Á¤¼ö¸¦ ÀúÀåÇÒ °ø°£À» malloc À¸·Î ¸¸µé°í p¿¡ ÇÒ´çÇϽÿÀ.
- µÎ °³ÀÇ ¹è¿ num_a¿Í num_b¸¦ ÇÕÄ¡°í °ªÀ» ³·Àº °ª¿¡¼ ³ôÀº °ªÀ¸·Î Á¤·ÄÇÏ¿© p ¿¡ ³Ö´Â
ÇÔ¼ö¸¦ ÀÛ¼ºÇϽÿÀ. (´Ü, sorting Àº ÀÌÀü¿¡ ¹è¿î selection_sort() ¸¦ »ç¿ëÇÒ °Í)
concat_sort(p, num_a, num_b); // Áï, p ¿¡ {20,80,90,50,10,40,30,60,70,100} ÀÌ µé¾î°¡°Ô ÇÏ°í Á¤·Ä
- main ÇÔ¼ö¿¡¼ concat_sort ÇÔ¼ö¸¦ callÇÏ°í pÀÇ ³»¿ëÀ» ȸ鿡 Ãâ·ÂÇÏ¿© Á¤»óÀûÀ¸·Î
µ¿ÀÛÇÏ´ÂÁö È®ÀÎÇϽÿÀ.
2) µÎ °³ÀÇ ¹®ÀÚ¿À» ÇÕÄ¡´Â ÇÁ·Î±×·¥À» ÀÛ¼ºÇϽÿÀ.
- char str1[10]="hello", str2[10]="world", *p;
- p¿¡ mallocÀ¸·Î 20°³ÀÇ ¹®ÀÚ ÀúÀåÇÏ´Â °ø°£È®º¸ÇÏ°í
concat(p,str1,str2);
ÇÏ¸é µÎ °³ÀÇ ¹®ÀÚ¿ str1 °ú str2¸¦ ÇÕÃļ p¿¡ ³ÖÀ¸½Ã¿À.
- °á°ú¸¦ ÇÁ¸°Æ® ÇϽÿÀ.
[±³Àç ÇÁ·Î±×·¥ Âü°í]
- http://itsys.hansung.ac.kr/lec/dstruct/htmls/source/chap3/prog3-1.c
- http://itsys.hansung.ac.kr/lec/dstruct/htmls/source/chap3/prog3-2.c
- http://itsys.hansung.ac.kr/lec/dstruct/htmls/source/chap3/prog3-3.c
- http://itsys.hansung.ac.kr/lec/dstruct/htmls/source/chap3/prog3-4.c
- http://itsys.hansung.ac.kr/lec/dstruct/htmls/source/chap3/prog3-5.c
- http://itsys.hansung.ac.kr/lec/dstruct/htmls/source/chap3/prog3-6.c
- http://itsys.hansung.ac.kr/lec/dstruct/htmls/source/chap3/prog3-7.c
- http://itsys.hansung.ac.kr/lec/dstruct/htmls/source/chap3/prog3-8.c
- http://itsys.hansung.ac.kr/lec/dstruct/htmls/source/chap3/prog3-9.c
- http://itsys.hansung.ac.kr/lec/dstruct/htmls/source/chap3/prog3-10.c
- http://itsys.hansung.ac.kr/lec/dstruct/htmls/source/chap3/prog3-11.c