enot777 писал(а): а дальше, как это часто бывает, начинается песня о совместимости.
А в следующих версиях захотят инициировать семерками.... правило не надеяться на не инициированные значения возникло не просто так, а от очень нехорошей жизни.
Модератор: Модераторы
enot777 писал(а): а дальше, как это часто бывает, начинается песня о совместимости.
enot777 писал(а):Нашёл такое описание, что есть глобальные и локальные переменные.
enot777 писал(а):Это, я так понимаю, было изначально характерно для первых версий Pascal,
enot777 писал(а): "b" глобальная переменная и судя по поведению программы это подтверждается
enot777 писал(а):Если вы явно не инициализируете глобальную переменную, компилятор устанавливает для нее значение 0.
enot777 писал(а):если в IDE Free Pascal в настройках (Options->Compiler->Verbose) выбрать Warnings, Notes, Hints, General Info, то при компиляции программы из первого поста, выяснится, что переменная b может быть не инициализирована
vitaly_l писал(а):Кто заблуждается Вы или компилятор?
Как минимум на TP3 без явной инициализации в программном блоке в переменной был мусор.....
program arr;
type
TA = array [1..10] of integer;
var
i: integer;
a: TA;
begin
for i:=low(a) to high(a) do writeln(a[i]);
readln;
end.
7.2 Turbo Pascal
Free Pascal was originally designed to resemble Turbo Pascal as closely as possible. There are, of
course, restrictions. Some of these are due to the fact that Turbo Pascal was developed for 16-bit
architectures whereas Free Pascal is a 32-bit/64-bit compiler. Other restrictions result from the fact
that Free Pascal works on more than one operating system.
enot777 писал(а):Про TP3 не скажу, а такая программа на TP7 выведет на экран нули
enot777 писал(а):ибо переменные не будут глобальными
{$mode objfpc}
var p: pointer;
begin
writeln(integer(p));
readln;
end.
enot777 писал(а):Использовать это не надо, но знать, что у FPC есть такая особенность, для общего развития, наверное, можно.
enot777 писал(а):Вот пример с pointer. На экране появится 0.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12