.TH struct "" "" "C Keyword"
.PC "Data type"
.PP
.B struct
is a C keyword that introduces a structure.
The following is an example of how
.B struct
can be used in the description of a name and address file:
.DM
	struct address {
		char firstname[10];
		char lastname[15];
		char street[25];
		char city[10];
		char state[2];
		char zip[5];
		int  salescode;
	};
.DE
.PP
\*(KR prohibits the assignment of structures, the
passing of structures to functions, and the returning of structures by
functions.
\*(PN, however, lifts these restrictions.
It allows one structure to be assigned to another,
provided the two structures are of the same type.
It also allows structures to be passed by and returned by functions.
These features are supported by most compilers, but users should be aware
that their use can cause problems in porting code to some compilers.
.SH "See Also"
.Xr "array," array
.Xr "C keywords," c_keyword
.Xr "field," field
.Xr "initialization," initializ
.Xr "structure" structure
.br
\*(AS, \(sc3.1.2.5, \(sc3.5.2.1
