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 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access