字符指针 字符数组
就这个例子:
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
指针为门牌号,内存为房屋空间, 赋值就是往里面放东西
我是不是可以这样理解:内存地址 = 门牌号,内存单元 = 房屋空间