每次看到某个数据结构的时候,有两个指针,一个起始,一个结束,一直没想明白为何是起始与结束,不是起始加数量,是怎么操作的?

procedure PrintList(const BeginPointer,EndPointer:PDWORD);
var
  I:Byte;
  dBegin,dEnd:DWORD;
begin
  dBegin:=PDWORD(BeginPointer)^;
  dEnd:=PDWORD(EndPointer)^;
  for I := 0 to (dEnd-dBegin) div 4 do
  begin
    ShowMessage(IntToStr(dBegin+I*4));
    /// 10 14 18 22 26 30
  end;
end;


procedure TForm2.Button1Click(Sender: TObject);
var
  dBegin,dEnd:DWORD;
begin
  dBegin:=10;
  dEnd:=30;
  PrintList(@dBegin,@dEnd)
end;

下次再遇到记得补贴一下汇编代码

ps:好无知呀,原来这是STL容器的vector类型

http://blog.csdn.net/heyutao007/article/details/6905589

原文地址:https://www.cnblogs.com/ZhouXiHong/p/4281377.html