Arrays, Conformant arrays – HP SunSoft Pascal 4.0 User Manual
Page 138
114
Pascal 4.0 User’s Guide
6
Arrays
Since C cannot pass arrays by value, it cannot pass strings of characters, fixed
arrays, or
univ
arrays by value.
Conformant Arrays
Pascal passes all value parameters on the stack or in registers, except for value
conformant array parameters, which are handled by creating a copy in the
caller environment and passing a pointer to the copy. In addition, the bounds
of the array must be passed (see “Conformant Arrays” on page 101).
This example is the same as the single-dimension example in “Conformant
Arrays,” except that the
var
prefix is deleted.
The Pascal procedure,
ChrCAVal.p
procedure ChrCAVal(a: array [lb..ub: integer] of char);
begin
a[0] := 'T';
a[13] := 'o';
end; { ChrCAVal }
The C main program,
ChrCAValMain.c
#include
extern void ChrCAVal(char [], int, int);
int main(void)
{
static char s[] = "This is a string";
ChrCAVal(s, 0, sizeof(s) -1);
printf(" %11s \n", s);
}
- Laserjet p1606dn (152 pages)
- LaserJet 1320 (2 pages)
- LaserJet 1320 (9 pages)
- LaserJet 1320 (184 pages)
- LaserJet 1320 (4 pages)
- Deskjet 6940 (150 pages)
- LaserJet P2035n (148 pages)
- LaserJet 4250 (304 pages)
- LaserJet P2055dn (176 pages)
- Deskjet 5650 (165 pages)
- LASERJET PRO P1102w (158 pages)
- LaserJet P2015 (158 pages)
- DesignJet 500 (16 pages)
- DesignJet 500 (268 pages)
- Officejet Pro 8000 - A809 (140 pages)
- Officejet 6100 (138 pages)
- Officejet 6000 (168 pages)
- LASERJET PRO P1102w (2 pages)
- 2500c Pro Printer series (66 pages)
- 4100 mfp (164 pages)
- 3600 Series (6 pages)
- 3392 (10 pages)
- LASERJET 3800 (18 pages)
- 3500 Series (4 pages)
- Photosmart 7515 e-All-in-One Printer - C311a (62 pages)
- PSC-500 (40 pages)
- 2500C/CM (65 pages)
- QMS 4060 (232 pages)
- 2280 (2 pages)
- 2430dtn (4 pages)
- 1500 (13 pages)
- 1000 Series (1 page)
- TOWERFEED 8000 (36 pages)
- Deskjet 3848 Color Inkjet Printer (95 pages)
- 2100 TN (184 pages)
- B209 (24 pages)
- Designjet 100 Printer series (1 page)
- QM2-111 (35 pages)
- 2100 (5 pages)
- 2000CP series (2 pages)
- 2300L (4 pages)
- 35000 (2 pages)
- 3015 (2 pages)
- Color LaserJet CM3530 Multifunction Printer series (302 pages)
- StudioJet (71 pages)