Structures, Unions, and Bit-Fields
Different data items that make up a logical unit are generally grouped together in a record. The structure of a record—i. e., the names, types, and order of its components—is represented in C by a structure type .
The components of a record are called the
members
of the
structure. Each member can be of any type. The type specifier begins
with the keyword struct
; for example:
struct article { char name[40]; int quantity; double price; };
This example declares a structure type with three members. The
identifier article
is the tag of the
structure, and name
, quantity
,
and price
are the names of its members. Within the
scope of a structure declaration, variables can be declared with the
structure type:
struct article a1, a2, *pArticle, arrArticle[100];
a1
and a2
are variables of type
struct
article
, and
pArticle
is a pointer to an object of type
struct article
. The array
arrArticle
has 100 elements of type
struct article
.
Structure variables can also be declared simultaneously with the structure type definition. If no further reference is made to a structure type, then its declaration need not include a tag. For example:
struct {unsigned char character, attribute;} xchar, xstr[100];
The structure type defined here has the members
character
and attribute
, both
of which have the type unsigned char
. The variable
xchar
and the elements of the array
xstr
have the type of the new tagless structure.
The members of a structure variable are located in memory ...
Get C Pocket Reference now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.