1. C»y¨¥¨Ï¥Îªº¨ç¼Æ¥i¥H¼g¥X«D±`º}«Gªºµ{¦¡µ²ºc¡A¨Ïµ{¦¡Â²³æ¤Æ¡A°»¿ù®e©ö¡C
2. ±N«½Æ¤§¬Y¨Ç«ü¥O¼¶¼g¦¨¤@Ó¨ç¼Æ¡A¥i´î¤Ö½s¿èµ{¦¡®É¶¡¡A§ó¥i¨Ïµ{¦¡ºë²¡A²M´·¤F¸Ñ¡C
3. C»y¨¥¨Ï¥Îªº¨ç¼Æ¨ä©I¥s¤èªk»P¼Æ¾Ç¤W¨Ï¥Î¨ç¼Æ§¹¥þ¬Û¦P,
¨Ò ¦p :
a
= function ( x , y ) ;
ªí¥Ü±NÅÜ¼Æ x , y ¿é¤J¨ç¼Æ function , ¨ä¶Ç¦^¨ç¼ÆÈ³]©wµ¹ÅÜ¼Æ a ¡C
1. ¨ç ¼Æ ªº ©w ¸q (Function Definition)
2. ©I ¥s ¨ç ¼Æ (Function Call)
3. ¨ç ¼Æ ì §Î «Å §i (Function Prototype)
Àx¦sÃþ§O ¸ê®Æ«¬§O ¨ç¼Æ¦WºÙ (§Î¦¡¤Þ¼Æªº¦ê¦C) {§Î¦¡¤Þ¼Æªº«Å§i ; ¨ç¼Æªº¥»Åé(°õ¦æ±Ôz) } |
Example: void Line (void) { int j; for (j=1;j<20;j++) printf(¡§%d\n¡¨,j); } |
|
¨ç ¼Æ ªº Àx ¦s Ãþ §O |
|
|
|
Àx¦sÃþ§O |
¥\¯à±Ôz |
||
|
static |
¥u¯à¦b¶i¦æ«Å§iªº½sͳæ¦ì¤º¥i¥H°õ¦æ
|
||
|
extern |
¦b¶i¦æ«Å§iªº½sͳæ¦ì¥H¥~¤]¥i°õ¦æ
|
||
ps. ¤@ ¯ë ¨ç ¼Æ ªº Àx ¦s Ãþ §O ¥i ¥H ¬Ù ²¤ , ¦¹ ®É ·í §@ "extern" ³B ²z ¡C
Example1: file1.c extern func1( ) { . . } static func2( ) { .} |
Example2: file2.c extern func1( ); static func3( ) { . . func1( );.} |
n ¨D ¨ç ¼Æ °e ¦^ ¶Ç ¦^ È (¨ç¼ÆÈ) , ¥² ¶· ¦b ¨ç ¼Æ ¥» Åé ¤¤ §Q ¥Î return ±Ô z ¶i ¦æ , ¨Ò ¦p :
return ( ÅܼƩΦ¡¤l ) ;
¦¹ ³B ¥² ¶· ¥ý «Å §i ¶Ç ¦^ È (¨ç¼ÆÈ) ªº ¸ê ®Æ §Î ºA ¬O ¤° »ò ¡C

return()±Ôz¤§¥Øªº¦p¤U
1. ±N±±¨îÅv¶Ç¦^µ¹©I¥sµ{¦¡2. ±Nreturn()±Ôz«á¬A¸¹¤º¤§¼ÆÈ¶Çµ¹©I¥sµ{¦¡¤§¤è¦¡
( 1 ) ¶Ç »¼ ÅÜ ¼Æ È ¥» ¨ ( Call by value )
( 2 ) ¶Ç »¼ ÅÜ ¼Æ ªº ¦ì §} ( Call by reference )
Example 1: ¶ÇÈ©I¥s #include < stdio.h > int func(a,b,c) int a,b,c; { int d; d=a+b+c; return(d); } void main(void) { int x,y,z,p; x=y=z=3; p=func(x,y,z); printf("p-->%d\n",p); } result : p-->9 |
Example 2: ¶Ç§}©I¥s #include < stdio.h > void func(a,b,c,d) int *a,*b,*c,*d;{ *d=*a+*b+*c;} void main(void) { int x,y,z,p; x=y=z=3; func(&x,&y,&z,&p); printf("p-->%d\n",p); } result : p-->9 |
/* ================================================== *//* µ{¦¡¹ê¨Ò:³ÅÈ©M¶Ç§}ªº°Æµ{§Ç©I¥s(¥æ´«XY) *//* ================================================== */ /* --------------------¥æ´«¨âÈ(¶ÇȰƵ{§Ç)-------------------- */void swap1(int x,int y){ int temp; temp = x; x = y; y = temp;} /* ------------------- ¥æ´«¨âÈ(¶Ç§}°Æµ{§Ç) ----------------- */void swap2(int *x,int *y){ int temp; temp = *x; *x = *y; *y = temp;} /* ---------------------¥Dµ{¦¡---------------------- */void main(){ int x = 10, y=0; /* §½³¡Åܼƫŧi */ printf(" X Y \n"); printf(" ªìÈ %d %d \n",x,y); swap1(x,y); /* ¶ÇȰƵ{§Ç©I¥s(¥æ´«XY) */ printf(" ¶ÇÈ %d %d \n",x,y); swap2(&x,&y); /* ¶Ç§}°Æµ{§Ç©I¥s(¥æ´«XY) */ printf(" ¶Ç§} %d %d \n",x,y);} |
||||||||||||
|