指针问题(C->Delphi)(20分)

  • 主题发起人 主题发起人 牛头12236
  • 开始时间 开始时间

牛头12236

Unregistered / Unconfirmed
GUEST, unregistred user!
var
str: array[0..128] of Char;
p: PChar;
begin
StrCopy(@str, 'Hello world!');
p := @str;
// 以下是 C 语言的代码
// p += 8
您也许会说用 Inc(p, 8),如果不用它而直接跟数字运算怎么做
end;
 
p := p + 8;
如果你要取第9个字符,直接用p[8]就可以了
 
谢谢lichengbin。
>>p := p + 8;
我还不如用 Inc(p, 8) 呢,因为它的执行效率更高
>>如果你要取第9个字符,直接用p[8]就可以了
还不如用指针的效率高呢
 
to 牛头12236
你要怎么做呀。
 
>>p := p + 8;
若 p 的类型改为其它的如 PInteger ,编译不能通过……
 
ask 牛头12236:
PInteger 和PChar指针类型都不同,编译怎么能通过,如果属我才疏学浅不了解的话请原谅,就当我是来学习的吧
 
>>p := p + 8

pascal中移动指针不能直接加减数字,只能用inc和dec,因为指针指向不同的数据时位移量不同
 
多人接受答案了。
 

Similar threads

I
回复
0
查看
709
import
I
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
668
import
I
I
回复
0
查看
738
import
I
后退
顶部