pointer类型指针所指向的变量可以取什么类型的值? Pointer既然是无类型指针,那么就不能new了,因为编译器不知道该给它分配多大的内存。这个道理与C中的void *一样。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 什么值都可以取,但不能直接赋值var p:pointer;begin //new(p); GetMem(p, length('abc')); //p^:='abc';//这里出错! move('abc', p^, length('abc')); //这样赋值, 取值时用强制转换 FreeMem(p);end;type tagMy = record a1: integer; a2: char; a3: double; //........ end;//也可以赋结构体值var p:pointer; tag: tagMy;begin //结构赋值 tag.a1 := ... //再将结构赋给p GetMem(p, sizeof(tag)); move(tag, p^, sizeof(tag)); FreeMem(p);end; sorry,应改用FreeMem(p, sizeof(...));释放 var p:pointer;begin getmem(p,4); p^:=234234;//这里出错! freemem(p);end;改了,可是还是出错的啊! 迎接新年,散分! 如何把FastReport生成的报表Email给客户。。。 如何屏蔽鼠标右键? 为什么在有些字符串在9X中能够正常显示,但在2000中却只能显示一部分 小女向各位兄弟姐妹拜年,顺便问个粗难的题 难道就没人知道吗? 获取文件信息问题 怎么样将数据集存成文本文件? 请问在Delphi中怎样实现Items的上下移动,(ViewStyle为vsReport),不是排序?? 小小问题,请多指教 开发邮件服务器遇到的难题 高手快来我快疯了,是不行我转bcb了~~~
begin
//new(p);
GetMem(p, length('abc'));
//p^:='abc';//这里出错!
move('abc', p^, length('abc')); //这样赋值, 取值时用强制转换
FreeMem(p);
end;type
tagMy = record
a1: integer;
a2: char;
a3: double;
//........
end;//也可以赋结构体值
var p:pointer;
tag: tagMy;
begin
//结构赋值
tag.a1 := ...
//再将结构赋给p
GetMem(p, sizeof(tag));
move(tag, p^, sizeof(tag));
FreeMem(p);
end;
begin
getmem(p,4);
p^:=234234;//这里出错!
freemem(p);
end;改了,可是还是出错的啊!