A private key is a 256 bit binary number. When written in hexadecimal this comes to a 64-digit hexadecimal number, which in decimal is approximately 1.158 x 10^77. Each private key will produce a unique public key and corresponding bitcoin address. So there are 2^256 possible combinations of private key, public keys and bitcoin addresses.
No, due to the use of RIPEMD160 there are only 2
160 possible bitcoin addresses (of version 1).
true, this is correct as far as the possible addresses are concerned, but someone who is trying to find the correct private key using brute force will have to try all 2
256 private keys, since there is no way to determine which of these will not be linked to a valid address.
however i admit that my statement above is not entirely correct