与数据类型的值类型和引用类型(类似于指针)想到C语言的形参和实参问题?却想不清楚什么是形参和实参了!谁能详细解惑下?

解决方案 »

  1.   

    int Max(int t)
    {
     ……
    }
    这里的int t就是一个形参,形参主要的给编译器一个类型提示。

    void main()
    {
     int i=3,p;
      p=Max(i);这里的i就是一个实参。实参是数据类型,和数据类型下传递的世纪参数。
      } 
      

  2.   

    对于引用类型就没有形参和实参问题了。
    对于值类型,还是有形参和实参问题。
    关键字ref和out就是做这个用的。
      

  3.   

    如果有个函数
    void func(int n)
    {
        n = 100;
    }
    调用这个函数的时候
    int i = 1;
    func(i);
    调用之后i还是1
    这大概就是楼主说的形参和实参问题。如果这样定义
    void func(ref int n)
    {
        n = 100;
    }
    然后这样调用
    int i = 1;
    func(ref i);
    调用之后i就被改成100了
      

  4.   

    继续4楼的例子。
    对于这个函数void func(int n) 
    这属于值传递,调用func(i)的时候,会把i拷贝一个副本,然后把这个副本传给func函数。
    func函数里面的n,和外面的i,就完全没有关系了。所以修改n不影响ivoid func(ref int n)
    这属于引用传递,调用func(ref i)的时候,直接把i的地址传给func函数。
    func函数里面的n,和外面的i,完全就是同一个地址的同一个变量