TURBO PASCAL

Новости

Программы   

Turbo Pascal 

Игры

Документация   

Странности

FAQ

Ссылки

Форум

Гостевая книга

Рассылка

Благодарности

Об авторе

 

 

Символьные указатели и строковые литералы 

             При разрешении  расширенного  синтаксиса  строковый  литерал
        совместим по присваиванию с типом PChar.  Это означает, что пере-
        менной типа PChar можно присвоить строковый литерал. Например:

             var
                P: PChar;
                .
                .
             begin
                P := 'Привет...';
             end;

             В результате  такого присваивания указатель указывает на об-
        ласть памяти,  содержащую строку с завершающим нулем,  являющуюся
        копией строкового литерала. Компилятор записывает строковые лите-
        ралы в сегмент данных, аналогично описанию "скрытых" типизирован-
        ных констант:

             const
                TempString: array[0..14] of Char = 'Привет...'#0;
             var
                P: PChar;
                .
                .
             begin
                P := @TempString;
             end;

             Когда соответствующие  формальные  параметры имеют тип Char,
        строковые литералы вы можете использовать как  фактические  пара-
        метры при вызовах процедур и функций. Например, если имеется про-
        цедура с описанием:

             procedure PrintStr(Str: PChar);

        то допустимы следующие вызовы процедуры:

             procedure PrintStr('Строка для проверки');
             PrintStr(#10#13);

             Аналогично тому, как это происходит при присваивании, компи-
        лятор генерирует строку с завершающим нулем, представляющую собой
        копию литеральной строки в сегменте данных,  и передает указатель
        на эту область памяти в параметре Str процедуры PrintStr.

             Наконец, типизированная константа типа PChar может инициали-
        зироваться строковой константой. Это справедливо также для струк-
        турных типов,  таких как массивы PChar и записи,  а также объекты
        PChar.


         B.Pascal 7 & Objects/LR     - 302 -

             const
                Message: PChar = 'Program terminated';
                Prompt: PChar = 'Enter values: ';
                Digits; array [0..9] of PChar = {
                 'Zero', 'One', 'Two', 'Three', 'Four', 'Five',
                 'Six', 'Seven', Eight', 'Nine'};

             Строковая выражение-константа всегда вычисляется как  строка
        Паскаля, даже  если она инициализируется как типизированная конс-
        танта типа PChar.  Таким образом,  строковое  выражение-константа
        всегда ограничено длиной в 255 символов.

Содержание

На первую страницу

Rambler's Top100 Rambler's Top100
PROext: Top 1000

(с)Все права защищены

По всем интересующим вопросам прошу писать на электронный адрес

Hosted by uCoz