The chest is a block and tile entity that stores up to 27 item stacks. Chests cannot be placed next to another chest which is already adjacent to a third on the x or z axis. However, chests can be placed using setblock or fill to occupy these states, in which case most of the chests will be invisible. Chests, like entities, will not be rendered when over 32 blocks from the viewing player. (Not confirmed)
The inventory it displays to a player in this order: -x, -z, self, +x, +z, possibly among others.
Trapped Chests Edit
Trapped chests behave like, or are, a sub-class to the normal chest. They have the same adjacency rule but only with themselves and not regular chests. They also emit a redstone signal strength equal to the number of players accessing it. However, they can still be accessed with a redstone comparator like an ordinary chest, without the player count affecting it. This is a property of comparators.
Ender Chests Edit
Ender Chests do not "double up" like the others and so can be placed in any physical relationship to one another. When an ender chest is opened they show the ender inventory of the player opening it, stored in the "player.dat" NBT file.