Produces as results (assuming appropriate input): 

1 2 3 -2 0 2 1 0 1 -1 2 -3 -1 3 -2 2 2 1 1 10 6 -4 1 4 -9 -2 

Note that the index types for arrays A, B, and C in the above program are fixed. If we could write a generalized matrix-multiply subprogram for a library, we need a facility to provide for adjustable index types. Pascal provides conform ant-array parameters for this purpose (see Section 11.A.2); and Program 11.4, MatrixMul2, illustrates their use. 

## 6.B. String Types 

Strings were defined earlier as sequences of characters enclosed in apostrophes (Section I.E). Strings consisting of a single character are the constants of the standard type Char (Section 2.D); those of N characters (N > 1), are constants of a type defined by: 

Such a type is called a string type. 

The assignment 

packed array [1 .. N] of Char 

A := E 

where array variable A and expression E have any string types with the same number of components is valid. Similarly, the relational operators (=, <>, <, >, <=, and <=) may be used to compare any two strings that have the same number of components; the ordering considers the first 

