Oh!!!! So this means that after i buy my coin from any exchange i need to give to them my public key in order to transfer the coins to my wallet, right?
As Rath has said, when you buy from a centralized exchange, the coins go to your exchange account, and you then need to withdraw them from that account to your own wallet. But it is not your public key you use to do this; it is your address. The two are linked - most of the addresses you will use are created by hashing the relevant public key, adding a specific prefix to signal what type of address it is, adding a checksum at the end, and then converting the whole thing from Base16 to Base58.
An uncompressed public key might look like this:
04BAF331BD699197D8D3303BEE1C984E323B7FAFE517D0E7489C3A42BA5A3A9DCA9F80B0ABF9869B36463E745BA04222CE03901288F1BD5A14384EF773A59E9BFD
Once we hash it as needed (SHA-256 followed by RIPEMD-160), it looks like this:
7192785A75DFEF885B99940D2B60F11E2F5ADD83
Once we add the necessary prefix and the checksum, it looks like this:
007192785A75DFEF885B99940D2B60F11E2F5ADD83EE39278F
And then finally, we code it in Base58 to create a more familiar looking address:
1BMWpbo5ijfh2JeCJwjWQojpbsBUW1EHnv