What is a bitcoin address?
An address is a Bitcoin public key to which transactions are sent and is also part of a “key pair“. Just as it is safe to share your email address, it is safe to share your public key address in order for others to send you bitcoin.
The private part of the key pair is used to sign transactions and prove ownership of an account. That necessary signature can only be created if the correct private part of the key pair is used, but it can be verified by anyone using the public key. You never share your private key with anyone.
If you are new to cryptocurrency, this is really all you need to know. Just as most people don’t know or care about the underlying workings of PayPal or Visa.
This public key cryptography, or asymmetric cryptography, is what Bitcoin uses to control funds. A public key can be generated from a private key, but not vice-versa as it is computationally too difficult. The asymmetric part means something encrypted with a private key, can be decrypted with the public key. Private keys are what proves you can send Bitcoin that has been sent to you, much like your bank account password. Should you lose it, or it is stolen, your funds are gone.

How Wallets Use Addresses
A wallet is a program that controls the address (both private and public) and facilitates transactions. So you might say the address is the ID of where the bitcoins are being held, and a wallet is a collection of private keys that correspond to those addresses. Since addresses are a long string of characters, a QR code is usually provided for scanning, and it is advised to copy/paste addresses to avoid typos. Remember, there is no recourse for sending funds to the wrong address – so double and triple-check addresses!
Technically, bitcoins are not stored in wallets. They are virtual and recorded on the blockchain. The wallet simply holds your private key that shows your ownership of a public key connected to virtual currency recorded on the blockchain. A wallet also acts as a personal ledger of your transactions.