Руководство по языку B.Pascal 7

Операции над символьными указателями


Расширенный синтаксис (разрешенный по директиве компилятора {$X+}) поддерживает несколько операций с указателями на PChar. Для увеличения и уменьшения смещения указателя можно использовать операции + и -. Минус можно также использовать для вычисления расстояния (разности) между двумя символьными указателями. Если P и Q - это значения типа PChar, а I - значение типа Word, то до- пустимы следующие конструкции:

Допустимые конструкции PChar Таблица 6.7 ----------------T----------------------------------------------- ¦ Операция ¦ Результат ¦ +---------------+-----------------------------------------------+ ¦ P + I ¦ Сложение I со смещением P. ¦ ¦ I + P ¦ Сложение I со смещением P. ¦ ¦ P - I ¦ Вычитание I из смещения P. ¦ ¦ P - Q ¦ Вычитает смещение Q из смещения P. ¦ L---------------+------------------------------------------------

Операции P + I и I + P складывает I c адресом, заданным P, создавая указатель, ссылающийся на I символов после P. Операция P - I вычитает I из адреса, заданного P, создавая указатель, ссыла- ющийся на I символов перед P.

Операция P - Q вычитает расстояние между Q (младший адрес) и P (старший адрес), создавая в результате значение типа Word, по- казывающее число символов между Q и P. Эта операция подразумева- ет, что P и Q ссылаются на один символьный массив. Если два сим- вольный указателя ссылаются на разные массивы, то результат будет не определен.



Содержание раздела