Bitcoins are “stored” in something called the Bitcoin address. They look more or less like a series of random characters, but they always start with a 1. They look something like this:
This address is safe to give to anyone, and anyone will be able to send Bitcoins to him or to see how many coins this particular address maintains. Bitcoin addresses are free to create and there is an essentially unlimited supply – it is often considered good practice to use a new address whenever you want to receive bitcoins as it makes it more difficult to correlate your monetary habits.
To send bitcoins to an address, a message is transmitted by the owner of the sending address to the bitcoin network that they want to send X amount of coins from their address to the new address.
BItcoin addresses are created first by choosing a random number (for the important key) and by creating an Elliptic Curve Digital Signature Algorithm (ECDSA) public key pair with them. This operation, by itself, generates the private key – but the Bitcoin addresses are not simply public keys, but modified versions of them. The generated public key is then placed through various SHA-256 and RIPEMD-160 operations, eventually being converted into a format called Base-58. Base 58 is a coding that removes the possibility of similar similar characters, such as L and lowercase, as well as 0 and O. Finally, an identification number is added to the beginning of the address – for bitcoin addresses, this is a 1, indicating that it is a public bitcoin network address.
The end result is a reasonable length of characters that anyone can copy paste into a Bitcoin client to send out coins.