打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
关于指针初始化的问题
问题来源: http://www.cnblogs.com/del/archive/2008/05/02/1179416.html#1179645

一个全局变量可以初始化, 如果你不主动初始化, 也会被自动初始化;
一个局部变量不能被初始化, 虽然你不能主动初始化, 但它会被赋予一个随机值.
unit Unit1;interfaceuses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dialogs, StdCtrls;type  TForm1 = class(TForm)    procedure FormCreate(Sender: TObject);  end;var  Form1: TForm1;implementation{$R *.dfm}var  i1: Integer; {会被自动初始化为 0}  p1: Pointer; {会被自动初始化为 0, 也就是空指针}const  BoolStr: array[Boolean] of string = ('False','True');procedure TForm1.FormCreate(Sender: TObject);var  i2: Integer; {会被初始化为一个随机值}  p2: Pointer; {会被初始化为一个随机地址}  b: Boolean;begin  ShowMessage(IntToStr(i1));          {0}  ShowMessage(IntToStr(i2));          {14909552}  ShowMessage(IntToStr(Integer(p1))); {0}  ShowMessage(IntToStr(Integer(p2))); {4570636}  {判断 p1、p2 两个指针是否是已赋值}  b := Assigned(p1);  ShowMessage(BoolStr[b]);  {False}  b := Assigned(p2);  ShowMessage(BoolStr[b]);  {True}  {释放指针后再判断}  p1 := nil;  p2 := nil;  b := Assigned(p1);  ShowMessage(BoolStr[b]);  {False}  b := Assigned(p2);  ShowMessage(BoolStr[b]);  {False}end;end.
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Delphi指针基本知识
谈谈 Delphi 的类型与指针[2]
Delphi指针类型浅析(附件)
Object Pascal 运算符
delphi一句话帮助
Excel文件导入StringGrid
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服