Now the elements of a can be of different types, so long as read and sort know how to check for and operate correctly on values of these types. Generally, each array element will need to be tagged with the correct type. Recursive types are a problem. Type Names Question becomes more interesting because of type names. As a way of improving program correctness by sub- dividing values into types according to their meaning within the program.
Most languages use mixed solutions.
C Type Equivalence C uses structural equivalence for array and function types, but name equivalence for struct, union, and enum types. A Type defined by a typedef declaration is actually just an abbreviation for an existing type. Note this policy avoids problems with recursive types, which can only be built using structs. The original Pascal definition is vague. E.g., the types of x,y,z are all different, but z and w are the same.