Node:Data structures, Next:Recursion, Previous:More data types, Up:Top

## Data structures

*Grouping data. Tidying up programs.*

It would be hard for a program to manipulate data if it were scattered
around with no particular structure. C therefore has several facilities
to group data together in convenient packages, or data structures.
One type of data structure in C is the `struct`

(or
structure) data type, which is a group of variables clustered
together with a common name. A related data type is the `union`

,
which can contain any type of variable, but only one at a time.
Finally, structures and unions can be linked together into complex data
structures such as lists and trees. This chapter explores all of these
kinds of data structure.

It is important to distinguish the terms structure and data
structure. "Data structure" is a generic term that refers to any
pattern of data in a computer program. An array is a data structure, as
is a string. A structure is a particular data type in C, the
`struct`

; all `struct`

variables (structures) are data
structures, but not all data structures are structures.