The compiler will translate it into a straight single pointer for Shortstring and AnsiString. But be careful:
'string' isn't always what you think it is. Which string type do you expect?
Also, things like stricomp are highly discouraged. (Usually bad coding practice) It assumes a zero terminated array of AnsiChar. (Pchar) It is usually better to manipulate strings'the Pascal way: in this case
https://www.freepascal.org/docs-html/rtl/sysutils/comparetext.htmlAnd even then you may run into trouble if you are not aware which kind of string you are handling.
PChar? // and its siblings can cause mayhem:
-- PAnsiChar?
-- PWideChar? What is it!!!!
ShortString? // native in {$H-} mode
AnsiString? // native in {$H+} mode
WideString? // non - native but accepted
UTF8String? // non - native but accepted and hacked around by Lazarus
UnicodeString? // native UTF16 and in {$mode delphiunicode}
And then we have Rawbytestring, // basically single byte ansi, ...