当前位置:编程学习 > Delphi >>

求救关于delphi的Pchar的问题

Temp:Pchar; Temp := 'zzz'; 我想直接置换其中一个字符 Temp[0] := 'x'; 但是报地址错,小弟对指针什么的有点混... 请哪位高手指点迷经
答案:还可以这样:在editor里运行。

%洛特卡—沃尔泰拉(Lotka-Volterra)捕食者和被捕食者模型 % 
function Lotka_Volterra
t_end=15; 
x0=[20;20]; 
[t,x]=ode45(@LV_model,[0,t_end],x0) 
plot(t,x); 
legend('野兔','狐狸')
function y=LV_model(t,x) 
a=0.01;b=0.02; 
y=[x(1)-a*x(1)*x(2);-x(2)+b*x(1)*x(2)];
其他:pchar是一个指针,就是一个内存地址的入口,所以他不可能存在a[0]这样的数组形式
声明个变量tmp:char
tmp:=Temp;
tmp[0]='x';
Temp:=PChar(tmp); 
pchar是指针类型,它本身没有意义是一个内存地址,他指向一个数据存储的位置,所以要修改内容的话,要先把它赋值给一个值类型变量才可以修改 procedure TForm1.FormCreate(Sender: TObject);
Var
  p:Pchar;
begin
  getmem(P, 256);
  Strcopy(P, '123');
  Application.MessageBox(p, 'msg' ,64);
  p[0]:='2';
  Application.MessageBox(p, 'msg' ,64);
  Freemem(p);
end;

上一个:delphi 如何修改 注册表 里的 某一键值?
下一个:delphi 如何修改 注册表 里的 某一键值?

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,