定义记录类型和记录指针类型:
PSWIepAudioSamples = ^SWIepAudioSamples;
SWIepAudioSamples = record
samples: Pointer;
len: LongWord;
type1: PWord;
status: integer;
end; 声明变量:
samples: PSWIepAudioSamples;
mySamples: SWIepAudioSamples; 分配指针变量内存和赋值:
samples := PSWIepAudioSamples(AllocMem(sizeof(SWIrecAudioSamples)));
samples.samples := PByte(atd.audiobuf); //为什么samples.samples可以引用到成员变量??
samples.len := atd.BufLength;
samples.type1 := PWord(PChar('audio/basic')); mySamples.type1 := samples.type1; //为什么这样赋值可以??
mySamples.type1 := samples^.type1; //为什么这样赋值也可以?? 如题记录指针和记录变量区别是什么??
PSWIepAudioSamples = ^SWIepAudioSamples;
SWIepAudioSamples = record
samples: Pointer;
len: LongWord;
type1: PWord;
status: integer;
end; 声明变量:
samples: PSWIepAudioSamples;
mySamples: SWIepAudioSamples; 分配指针变量内存和赋值:
samples := PSWIepAudioSamples(AllocMem(sizeof(SWIrecAudioSamples)));
samples.samples := PByte(atd.audiobuf); //为什么samples.samples可以引用到成员变量??
samples.len := atd.BufLength;
samples.type1 := PWord(PChar('audio/basic')); mySamples.type1 := samples.type1; //为什么这样赋值可以??
mySamples.type1 := samples^.type1; //为什么这样赋值也可以?? 如题记录指针和记录变量区别是什么??
指针也是用.
记录也是用.mySamples.type1 := samples.type1; //这里相当于c++的samples->type1;
mySamples.type1 := samples^.type1; //这里相当于c++的(*samples).type1;
//atd.audiobuf是一个指针,samples.samples是一个指针变量