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;
  • 相关阅读:
    查看Oracle字符集
    Oracle备份还原表须知
    Oracle级联删除,删除用户的同时,将所分配到的表空间同时删除
    python logging模块(1) Marathon
    pycharm中调试django程序 Marathon
    sqlite数据表的增删改查操作 Marathon
    ubuntu 18.04配置固定ip Marathon
    django项目报错request请求不能处理问题 Marathon
    systemd.service配置 Marathon
    shell脚本学习之6小时搞定(1)入门 Marathon
  • 原文地址:https://www.cnblogs.com/anbylau2130/p/2806520.html
Copyright © 2011-2022 走看看