반응형
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
using System;
using System.Collections.Generic;
using System.Text;
 
namespace CS함수
{
    class Program
    {
        // call by value , call by ref
        // 1)  함수 내부로 인자를 전달하는 메카니즘 !!
        //   -- > in Input Parameter :
 
        // 1) 1개의 배열을 매개변수로 받아서 화면에 출력하는 함수
        //  --> input 
        //2) 1개의 배열을 매개변수로 받아서 사용자에게 값을 입력하는 함수
        // --> output
        // input : call by value
        // out :  call by Ref
        // call by value
     /*   static void Add(out int No) //  out :   포인터의 전달 -> call by Ref !!
        {
            // out : 값을 전달하기 위한 목적으로는 사용할수 없다 !!
            No = 11;
            Console.WriteLine(No); //??
        }*/
        static void Add(ref int No)
        {
            No++;
            Console.WriteLine(No); //??
        }
 
        // out. ref 둘다 call by ref !!
        // C#에서는 포인터가 없기때문에  포인터를 통해서 구현하던 call by ref 기능을 !!
        //  out ,  ref키워드를 통해서 구현 한다 !!
        // 단, 차이는 !!
        // ref는 포인터와 완전히 동일한 형태로 call by ref를 구현하지만...
        // out :  반드시  값의 할당 필요하다 !!
 
 
        // 가변 인자 함수 !!
        // 함수로 전달되어지는 파라미터의 갯수가 가변적인 함수..
        // ex)  printf, scanf
        // printf함수는 파라미터가 몇개인가??
       //  printf("%d %d",10,10);
 
 
       /* static long Sum( params long []  ParamList )
        {
            long Result = 0;
            foreach (long item in ParamList)
            {
                Result += item;
            }
            return Result;
        }*/
        static string Sum(params Object[] ParamList)
        {
            string Result = "";
            foreach (Object item in ParamList)
            {
                Result += item.ToString();
            }
            return Result;
        }
 
        static void Main(string[] args)
        {
 
 
         //   Console.WriteLine("{0}    {1}    {2}", 10, "20", 30.0);
           Console.WriteLine(Sum(10, 20, 30, 20,111,"60"));
          /*  int No = 10;
            Console.WriteLine(No);
            Add(ref No );
            Console.WriteLine(No);
        */
       }
    }
}

+ Recent posts