On big endian machines, the most significant byte of an object in memory is stored at the least signicant (closest to zero) address (assuming pointers are unsigned).
Conversely, on little endian machines. the least significant byte is stored at the address closest to zero. Let's look at an example:
Sample:
int x = 0xaabbccdd; unsigned char b = *(unsigned char *)&x;
On a big endian machine, b would receive the most significant byte of x, 0xaa.
On little endian machines, b would receive the least signficant byte of x: 0xdd.
The x86 architecture is little endian.
Many ARM processors support either mode, but usually are used in little endian mode.
TCP/IP also uses the big-endian approach (and thus big-endian is sometimes called network order).