求救关于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 如何修改 注册表 里的 某一键值?