在程序中有下面两行
......
Filebuf: array of pchar
......
SetLength(FileBuf,10);//设置动态数组的长度;
......问题:
Filebuf: array of pchar----定义动态数组
SetLength(FileBuf,10)------设置动态数组的长度;请问,运行了上面两行后,是不是在内存里建立了一个名为Filebuf的数组,数组里有10个元素,每个元素均是指针(指向字符),这样理解对吗?

解决方案 »

  1.   

    回答的这么简单呀?
    我再问详细一点,每个元素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'
      

  2.   

    说它指向字符串,它就是指向字符串
    说它指向字符,它就指向字符(Str[1])@Str[1]就是字符序列Str的起始地址
      

  3.   

    Filebuf: array of pchar 
    首先filebuf是在栈中(或数据区)分配的四字节指针变量。经过SetLength(FileBuf,10)后,在堆中分配了10个四字节的存储单元,用于存储pchar型的指针。每个pchar指针都可以单独指向字符串或字符数组(字符也可以)。象Filebuf[i]中存的其实就是地址。
      

  4.   


    PS:就看你的需要了。你需要字符,它就是字符;你需要它是字符串,它就是字符串;你需要它是一个Integer,它也可以转换为Integer。
    你需要什么服务,它就给你提供什么服务。