ÇÔ¼ö ¹è¿­Àü´Þ2 ¡á 1. call-by-value = int num ¡á 2. call-by-reference = int* arr3 //------------------------1--------------------------- int sos1(int* arr, int r) { int i; for(i=0; i < r; i++) { printf("%d ", arr[i]); } printf("\n"); } int main(void) { int arr1[3]={1, 2, 3}; int arr2[5]={4, 5, 6, 7, 8}; sos1(arr1, sizeof(arr1)/sizeof(int)); // ¡ÚarrÀÇ ±æÀÌ°¡ Á¤¼ö Àü´Þ sos1(arr2, sizeof(arr2)/sizeof(int)); // ¡Úº¹¼ö·Î ÇÔ¼ö Àü´Þ °¡´É return 0; }
Ãâ·Â °á°ú
1, 2, 3
4, 5, 6, 7, 8
//------------------------2--------------------------- int sos1(int* arr, int r) { int i; for(i=0; i < r; i++) { printf("%d ", arr[i]); } printf("\n"); } int sos2(int* arr, int r) { int i; for(i=0; i < r; i++) { printf("%d ", arr[i]); } printf("\n"); } int main(void) { int arr1[3]={1, 2, 3}; int arr2[5]={4, 5, 6, 7, 8}; sos1(arr1, sizeof(arr1)/sizeof(int)); // ¡ÚarrÀÇ ±æÀÌ°¡ Á¤¼ö Àü´Þ sos2(arr2, sizeof(arr2)/sizeof(int)); // ¡Úº¹¼ö·Î ÇÔ¼ö Àü´Þ °¡´É return 0; }
Ãâ·Â °á°ú
1, 2, 3
4, 5, 6, 7, 8
//------------------------3--------------------------- int sos1(int* arr, int r) // ¡ÚÃÖÃÊ°ª 123 Ãâ·Â { int i; for(i=0; i < r; i++) { printf("%d ", arr[i]); } printf("\n"); } int sos2(int* arr, int r, int num) // ¡ÚÃÖÃÊ°ª¿¡ Áõ°¡ { int i; for(i=0; i < r; i++) { arr[i] += num; // Àü´Þ¹ÞÀº °ªÀ» °¢ arr°ª¿¡ 1¾¿ ÇÕ»ê } } int main(void) { int arr[3]={1, 2, 3}; //s1, s2°¡ µ¿½Ã ÁøÇàµÇ¸ç °ªº¯°æ sos1(arr, sizeof(arr)/sizeof(int)); // ÃÖÃÊ°ª Ãâ·Â(1ȸÂ÷) sos2(arr, sizeof(arr)/sizeof(int), 1); // °¢°ª¿¡ 1 ÇÕ»ê sos1(arr, sizeof(arr)/sizeof(int)); // 1ÀÌ ´õÇØÁø °ª Ãâ·Â (2ȸÂ÷) sos2(arr, sizeof(arr)/sizeof(int), 2); // °¢°ª¿¡ 2 ÇÕ»ê sos1(arr, sizeof(arr)/sizeof(int)); // 2°¡ ´õÇØÁø °ª Ãâ·Â (3ȸÂ÷) sos2(arr, sizeof(arr)/sizeof(int), 3); // °¢°ª¿¡ 3 ÇÕ»ê sos1(arr, sizeof(arr)/sizeof(int)); // 3ÀÌ ´õÇØÁø °ª Ãâ·Â (4ȸÂ÷:ÃÖÁ¾) return 0; }
Ãâ·Â °á°ú
1, 2, 3
2, 3, 4
4, 5, 6
7, 8, 9
//------------------------¡ÚÂü°í--------------------------- void simple(int* arr, int num) ¡è¡é µ¿ÀÏ ¼±¾ðÀ̳ª arr[]¿¡ Àǹ̸¦ ÁÖ±â À§ÇØ ÁÖ·Î »ç¿ë void simple(int arr[], int num)