mixing pointers and arrays
Graham Ross
grahamr at bronze.UUCP
Tue Aug 16 02:01:05 AEST 1983
What are arrays just like?
In Pascal, arrays are just like records except all the elements are the
same type. In C, arrays are just like pointers except they reserve stor-
age and they don't work as lvalues. This is a part of the "pointer rift"
separating Pascal and its relatives from C.
An array cannot be passed at all in C, without putting it in a struct.
When we do:
f(a);
we are passing a pointer to the 0th element of a (C Ref Man Sec 10.1).
It is not a pointer to the array! f sees it the same as this:
p = a; f(p);
It makes no C sense to pass a pointer to the base element of a struct,
since the elements are of varying size.
Graham Ross
teklabs!tekmdp!grahamr
More information about the Comp.lang.c
mailing list