6
The C main program, | #include | <stdio.h> |
StruChrMain.c | #include | <string.h> |
struct TVarLenStr {
int NBytes; char a[25];
};
extern void StruChr(struct TVarLenStr *);
int main(void)
{
struct TVarLenStr vls; char s25[25];
vls.NBytes = 0; StruChr(&vls);
strncpy(s25, vls.a, vls.NBytes); printf(" s25 = '%s' \n", s25);
printf(" strlen(s25) = %d \n", strlen(s25));
}
The commands to compile and execute StruChr.p and StruChrMain.c
hostname% pc
hostname% cc StruChr.o StruChrMain.c
s25='St. Petersburg' strlen(s25) = 13
The record in the example above has, by default, the same size and alignment as the equivalent C record. Some records, though, are laid out differently unless you use the
106 | Pascal 4.0 User’s Guide |