zoukankan      html  css  js  c++  java
  • Pascal之( 参数传递)

    数值参数:实参的值赋给对应形参,形参的改变不影响实参
    unit first;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;
    
    type
      TForm1 = class(TForm)
        btn1: TButton;
        edt1: TEdit;
        edt2: TEdit;
        procedure btn1Click(Sender: TObject);
       
      private
        function formalparameter(x, y: integer): integer;
        { Private declarations }
      public
     
        { Public declarations }
      end;
    
    var
      Form1: TForm1;
    
    implementation
    
    {$R *.dfm}
    
    procedure TForm1.btn1Click(Sender: TObject);
    var
      x, y: integer;
      r: integer;
    begin
      x := 1;
      y := 100;
      r:=formalparameter(x, y);
       edt1.Text:='x='+IntToStr(x);
       edt2.Text:='y='+IntToStr(y);
       MessageBox(0, PChar(IntToStr(r)), 'R的值为:', MB_OK);
    
    
    end;
    
    function TForm1.formalparameter(x, y: integer): integer;
    begin
      x := x + 1;
      y := y + 2;
      Result := x + y;
    end;
    
    end.

    输出:x=1,y=100,r=104

    变量参数:变量参数传递一个指向参数的引用,即指针。改变引用传递 的参数将影响对应的实际参数
    unit Unit1;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;
    
    type
      TForm1 = class(TForm)
        btn1: TButton;
        edt1: TEdit;
        edt2: TEdit;
        procedure btn1Click(Sender: TObject);
        procedure variableparameter(var x, y: integer);
      private
        { Private declarations }
      public
        { Public declarations }
      end;
    
    var
      Form1: TForm1;
    
    implementation
    
    {$R *.dfm}
    
    procedure TForm1.btn1Click(Sender: TObject);
    var x,y:integer;
    begin
     x:=100;
     y:=100;
     variableparameter(x,y);
     edt1.Text:='x值为:'+IntToStr(x);
     edt2.Text:='y值为:'+IntToStr(y);
    end;
    
    procedure TForm1.variableparameter(var x, y: integer);
    begin
        x:=x+1;
        y:=y+1;
    end;
    end.

    输出:x=101,y=101

    常量参数:传递给函数或过程的参数在函数或过程中不能被改变,
    function myfunction(const x, y: integer): Integer;
    begin
      // x := x + 1;    错误语法:不能改变参数的值
      //y := y + 1;
      Result := x * y;
    end;
    4. 数组参数 :数组可以作为函数或过程的参数,但在对数组参数进行声明中不能包含数组索引类型的声明。
        procedure Sort(A: array[1..10] of Integer);    //不正确 
        type TDigits = array[1..10] of Integer;
        procedure Sort(A: TDigits);        //正确
        可以使用动态数组作为函数和过程的参数。
        例:
        procedure Clear(var A: array of Real);
        var  I: Integer;
        begin
             for I := 0 to High(A) do A[I] := 0;
        end;
  • 相关阅读:
    jquery遍历table的tr获取td的值
    Java判断文件、文件夹是否存在
    项目搭建系列之三:SpringMVC框架下使用Ehcache对象、数据缓存
    J2EE课程设计:在线书店管理系统
    项目搭建系列之二:SpringMVC框架下配置MyBatis
    使用Git(msysgit)和TortoiseGit上传代码到GitHub
    安卓课程设计:微课表
    项目搭建系列之一:使用Maven搭建SpringMVC项目
    常用markdown语法
    [转]优秀程序员应该做的几件事
  • 原文地址:https://www.cnblogs.com/anbylau2130/p/2806520.html
Copyright © 2011-2022 走看看