当前位置:首页>科技>正文

Pascal嵌套中的Forward如何使用

2023-04-23 13:59:57 互联网 未知 科技

 Pascal嵌套中的Forward如何使用

Pascal嵌套中的Forward如何使用

forward是一种类似于前向调用的关键字,其用法如下:
function max(a,b:longint):longintforward
function ex1(a,b:longint):longintforward

function max(a,b:longint):longint
begin
if a>b then exit(a)
exit(b)
end

function ex1(a,b:longint):longint
begin
exit(max(a,b))
end

//当然这段程序无意义、、、

解释一下,是这么样的:在pascal中,所有procedure和function是不可以互相使用的,比如说:
function max(a,b:longint):longint;
begin
if a>b then exit(a)
exit(b)
end

function ex1(a,b:longint):longint
begin
exit(max(a,b))
end
这段程序就是非法的,默认中pascal的互相调用会引起错误,可能是内存上容易因此错误吧。。。

因此在互相调用之前需要向编译器声明,我要调用和我同级的子程序了,你得给我安排好了,于是编译器就给你安排了一下,使得,厄,貌似是内存指针上还是什么玩意儿的做了一下变动,就是换了一种处理方式,于是就可以调用了。。。

其实还可以这么玩:
procedure ex1(ex:longint)forward
procedure ex2(ex:longint)forward

procedure ex1(ex:longint)
begin
//语句1
//语句2
ex2(n)
//语句X
//语句Y
end

procedure ex2(ex:longint)
begin
begin
//语句1
//语句2
ex1(n)
//语句X
//语句Y
end

然后就可以实现互相调用了··

可以继续追问或者私M我