社区
语言基础/算法/系统设计
帖子详情
指针的指针的问题 ^pchar
lbisme
2008-09-13 11:54:25
procedure TForm1.btn1Click(Sender: TObject);
type
rd=record
i:^pchar;
end;
var
a:char;
pa:pchar;
p:^pchar;
r1:rd;
begin
a:='w';
pa := @a;
r1.i :=@pa;
p:= Pointer(r1.i);//若写为p:=r1.i则编译时提示:Incompatible types,为啥?
caption := p^^;
end;
...全文
67
2
打赏
收藏
指针的指针的问题 ^pchar
procedure TForm1.btn1Click(Sender: TObject); type rd=record i:^pchar; end; var a:char; pa:pchar; p:^pchar; r1:rd; begin a:='w'; pa := @a; r1.i :=@pa; p:= Pointer(r1.i);//若写为p:=r1.i则编译时提示:Incompatible types,为啥? caption := p^^; end;
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lihuasoft
2008-09-13
打赏
举报
回复
很简单,原因就是Delphi/ObjectPascal对类型的检查非常严格,将不在同一行申明的两个^X指针视为不同类型的指针.
参见《Delphi开发人员指南》第45页。
例如:
var
a:^integer;
b:^integer;
begin
a := b; //编译器报错:不同类型。
end;
如改为:
type
PInteger = ^integer;
var
a:PInteger;
b:PInteger;
begin
a := b; //OK
end;
或者:
var
a, b:^integer;
begin
a := b; //OK
end;
没其他的原因,就是因为编译器对程序员负责,检查很严格。相对于说C/C++就是弱类型定义语言了。
你的程序如果这样改就没问题了:
type
TP=^pchar;
rd=record
i:TP;
end;
var
a:char;
pa:pchar;
p:TP;
r1:rd;
begin
a:='w';
pa := @a;
r1.i :=@pa;
p:= r1.i;//没问题
caption := p^^;
end;
rainlovesea
2008-09-13
打赏
举报
回复
EN
delphi
指针
大全
分为
指针
-引用、“引用/值”模型、类型与
指针
、
指针
数据类型、
Pc
har
指针
delphi
指针
大全.pdf
比较少专门讲Delphi
指针
的书 目 录 1 DELPHI 的
指针
-引用 2 delphi 的“引用/值”模型 3 谈谈 Delphi 的类型与
指针
4 Delphi 7
指针
数据类型 5 delphi 中的
Pc
har
指针
delphi
指针
实例
delphi
指针
他家可以学习一下 !!!!!!!!第一次传!!!!!
C语言中的回调函数实例
在C语言中一般用typedef来为回调函数定义别名(参数名)。 别名通过宏定义typedef来实现,不是简单的宏替换。可以用作同时声明
指针
型的多个对象。 比如: 代码如下:c
har
*pa,pb;//pa是一个c
har
型
指针
,但pb是一个c
har
型字符。我们可以这样来实现typedef c
har
*
PC
HAR
;
PC
HAR
pa,pb;//pa和pb都是c
har
型
指针
先看一个回调函数的例子: 代码如下:#include
//方法
指针
的格式为:int (*ptr)(c
har
*p) 即:返回值(
指针
名)(参数列表)typedef int (*CallBackFun)(c
har
*
Delphi7升级到Delphi 2010、Delphi XE、Delphi XE2总结
Delphi7升级到Delphi 2010、Delphi XE、Delphi XE2总结 !最后有个项目要移植到64位,所以这个很有用。在2010中
PC
har
已经不再表示PAnsiC
har
而是表示PWideC
har
,如果依然这样写,运行时很可能会得到一个内存访问错误。因为每 次Inc(P),实际上
指针
向前移动了2字节,因为SizeOf(WideC
har
)=2,Inc(P)相当于 P:=P+SizeOf(WideC
har
)。 解决方法是把
PC
har
替换成PAnsiC
har
语言基础/算法/系统设计
16,748
社区成员
33,247
社区内容
发帖
与我相关
我的任务
语言基础/算法/系统设计
Delphi 语言基础/算法/系统设计
复制链接
扫一扫
分享
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章