A bus (set of wires each carrying a digital signal, which together specify a number in binary) used to specify a memory address. If a microprocessor chip wants to read or write a specific value to a specific address in memory, it'll specify the address on the Address bus, and the value to read or write will be tranferred on the Data bus.

The 'width' of the address bus (i.e. the number of signals (bits) that comprise it) determine how much memory can be addressed. Hence, if you have a 16-bit address bus, you can represent a number (in binary) up to 216 (=65536) possible values (actually the range used is 0-65535), so you can individually refer to 65536 different memory addresses, or 64K of memory*.

Note that when (in computer terms) people say Kbytes or Mbytes, they are actually referring to K=1024 (210) and M=1,048,576 (220), so that's why 64K is not 64,000 , it's 64*1024 = 65,536.

(* This is actually not strictly the case; when people refer to '64k of memory' they mean 64k bytes (8-bit values) of memory. If you've got a 16-bit address bus (so 65536 possible address) and a 16-bit data bus, you can still address 65536 different physical memory locations, but each one is a 16-bit value. As a 16-bit value can also be considered as two 8-bit bytes, you can address 128k(bytes) of actual memory with this setup)

### Extra complexity

If you've got quite a wide address bus (e.g. 32 bit, as found on modern PCs, which allows you to address 4Gb of memory), it is often inconvenient to have that many actual separate wires on a connector (say, on one of those slots you stick memory modules into inside your PC), especially as it you usually want a wide data bus as well to provide higher performance (the wider the data bus, the larger the number you can transmit in one go - this may not seem very useful, but you can either consider a 64-bit word* as a single 64-bit number (which can mean one of 264 possible values - from 0 to very-fucking-big-indeed) or as 8 separate byte values, so you could equally consider it as transferring 8 adjacent bytes simultaneously, which is obviously going to be a good thing. Anyway, to avoid having a zillion connections, you can use what is known as a multiplexed address bus. What this means is that you have (say) a 32-bit address that you need to specify, but instead of using 32 wires, you use 16 wires and send the address sequentially in two halves, one after the other.

RAM chips (or DRAM, or SDRAM, or whatever this week's flavour is) virtually always use a multiplexed bus (because otherwise the chips would need loads of pins, which would make them more expensive to manufacture.