请问Filebuf: array of pchar的含义

山水无言 2008-09-11 11:06:15
在程序中有下面两行
......
Filebuf: array of pchar
......
SetLength(FileBuf,10);//设置动态数组的长度;
......

问题:
Filebuf: array of pchar----定义动态数组
SetLength(FileBuf,10)------设置动态数组的长度;

请问,运行了上面两行后,是不是在内存里建立了一个名为Filebuf的数组,数组里有10个元素,每个元素均是指针(指向字符),这样理解对吗?
...全文
74 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lihuasoft 2008-09-12
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 lihuasoft 的回复:]
说它指向字符串,它就是指向字符串
说它指向字符,它就指向字符(Str[1])

@Str[1]就是字符序列Str的起始地址
[/Quote]

PS:就看你的需要了。你需要字符,它就是字符;你需要它是字符串,它就是字符串;你需要它是一个Integer,它也可以转换为Integer。
你需要什么服务,它就给你提供什么服务。
yuqianyi1974 2008-09-12
  • 打赏
  • 举报
回复
Filebuf: array of pchar
首先filebuf是在栈中(或数据区)分配的四字节指针变量。经过SetLength(FileBuf,10)后,在堆中分配了10个四字节的存储单元,用于存储pchar型的指针。每个pchar指针都可以单独指向字符串或字符数组(字符也可以)。象Filebuf[i]中存的其实就是地址。
lihuasoft 2008-09-11
  • 打赏
  • 举报
回复
说它指向字符串,它就是指向字符串
说它指向字符,它就指向字符(Str[1])

@Str[1]就是字符序列Str的起始地址
山水无言 2008-09-11
  • 打赏
  • 举报
回复
回答的这么简单呀?
我再问详细一点,每个元素Filebuf[0]----Filebuf[9]是否都能指向一个字符串,还是只能指向一个字符

Filebuf[0]是不是能指向'delphi',还是指向'delphi'的第一字符的地址
Filebuf[1]是不是能指向'cshap'
Filebuf[2]是不是能指向'java'
Filebuf[3]是不是能指向'basic'
Filebuf[4]是不是能指向'abc'
Filebuf[5]是不是能指向'abc'
Filebuf[6]是不是能指向'abc'
Filebuf[7]是不是能指向'abc'
Filebuf[8]是不是能指向'abc'
Filebuf[9]是不是能指向'abc'
qjinshanq 2008-09-11
  • 打赏
  • 举报
回复
lz理解正确!
lihuasoft 2008-09-11
  • 打赏
  • 举报
回复

16,749

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧