初级阶段遇到的问题希望各位帮小弟一个忙~! ( 积分: 100 )

  • 主题发起人 主题发起人 hnnyejccool
  • 开始时间 开始时间
H

hnnyejccool

Unregistered / Unconfirmed
GUEST, unregistred user!
在TYPE下声明一个结构
tsrecord=Record
Name:String;
Age:String;
Career:String;
Income:String;
Remark:String;
end;
然后想要再添加一个Person数组变量储存这些信息,然后添加一个保存记录的编号CurRecord如下
Person:array [0..9] of TsRecord;
CurRecord:integer;
这个总是在运行的时候 好像Person这个数组得不到定义 ,为什么啊 我这样写对吗 ?
 
在TYPE下声明一个结构
tsrecord=Record
Name:String;
Age:String;
Career:String;
Income:String;
Remark:String;
end;
然后想要再添加一个Person数组变量储存这些信息,然后添加一个保存记录的编号CurRecord如下
Person:array [0..9] of TsRecord;
CurRecord:integer;
这个总是在运行的时候 好像Person这个数组得不到定义 ,为什么啊 我这样写对吗 ?
 
在对Person数组赋值前,要先使用以下语句:
setlength(person,10);
在内存中为其分配空间,否则产生访问冲突的系统错误。
 
type
tsrecord=record
name:string;
age:integer;
career:integer;
income:integer ;
remark:string;
end;
setlength(person,10)
//(16)行
person:array [0..9] of tsrecord
//(17)行
currecord:integer
(//18)行
这样运行的时候怎么出现
[Error] p_common.pas(16): ',' or ':' expected but '(' found
[Error] p_common.pas(17): Type 'tsrecord' is not yet completely defined
[Error] p_common.pas(21): ',' or ':' expected but '=' found等等的错误啊,
 
setlength(person,10)


此语句要放在过程或函数中,在对person数组赋值之前。
 
//类型定义
type
tsrecord=record
name:string;
age:integer;
career:integer;
income:integer ;
remark:string;
end;
//变量定义
var
person:array of tsrecord
//这样才能正确的调用SetLength这个设定动态数组长度的函数
currecord:integer

//函数实体
begin
setlength(person,10)

...
person :=nil;//释放申请的内存
end;
 
setlength(person,10)


不能放在声明中
 
dawnsong表示的很清楚
 
后退
顶部