除了内置数组外,C 程序员通常使用结构和指针构建自己的数据结构,因为该语言不提供这些作为现成的库类型。常见示例包括按需增长的动态数组、将元素存储为节点链的链表、用于快速基于键查找的哈希映射,以及用于固定大小队列的环形缓冲区。从头实现这些数据结构是理解高级语言内置集合内部工作原理的常见练习。