如何使动态阵列不变



在从用户读取数据后,有什么方法可以使X数组变为常数?有什么方法可以使变量从用户读取值(例如y)?

后无法修改。
program hmm;
    uses crt;
    var 
        i, y: word;
        x: array of word;
begin
    readln(y);
    y:=y-1;
    SetLength(x,y); 
    for i := 0 to y do begin
        read(x[i]);
    end;
readkey;
end.

使我尝试这样的事情,但是它不会工作 - y将设置为0。

program hmm;
    uses crt;
    var 
        i: word;
        x: array of word;
    const
    {$J+}
        y:word = 0;
    {$J-}
begin
    {$J+}
    readln(y);
    y:=y-1;
    {$J-}
    y:=0;
    SetLength(x,y); 
    for i := 0 to y do begin
        read(x[i]);
    end;
readkey;
end.

感谢您的帮助。

是。设置初始值后,请勿在代码中更改它们。

除此之外,没有办法。a 动态数组根据定义是可变的,这就是一个变量 - 这就是为什么它们具有 dynamic variable 作为名称。

最新更新