字符指针 字符数组

就这个例子:

SHGetSpecialFolderLocation(0,CSIDL_DESKTOP,PIDL);

SHGetPathFromIDList(PIDL,StartupDirectory); //该函数第2个参数是字符指针

网上的实例是这样定义变量的:

StartupDirectory:array[0..MAX_PATH] of Char;

Fillchar(StartupDirectory,Max_Path+1,0);

而我是这样定义的:

StartupDirectory:PChar;

StartupDirectory := StrAlloc(256);

 

现在问题来了,字符数组 和 字符指针 有什么区别??两种使用方法都运行正常,我只能这样理解《字符数组可以当作字符指针用》下面附两篇文章:

Delphi 的内存操作函数(1): 给字符指针分配内存

http://www.cnblogs.com/del/archive/2008/11/08/1329543.html

Delphi 的字符及字符串[4] - 字符串、字符指针与字符数组

http://www.cnblogs.com/del/archive/2008/05/11/1089344.html

指针为门牌号,内存为房屋空间, 赋值就是往里面放东西

我是不是可以这样理解:内存地址 = 门牌号,内存单元 = 房屋空间
posted @ 2017-07-17 11:29  stma  阅读(119)  评论(0编辑  收藏  举报