Without knowing the context it is impossible to be precise. However here goes: When an application program is loaded by Windows it is loaded into real memory (RAM - random access memory). The program may ask Windows for additional memory while it is running and can also release memory back to Windows. The memory space allocated to the program is it's addressable memory. If the program tries to access memory outside of it's space then Windows will generate a memory access violation and kill the program.
Windows also keeps memory for itself which is not addressable by user applications. On top of this, if Windows needs more RAM than exists on the machine, chunks of memory will be "paged out" to disk (virtual memory) to free real memory. Thus Windows can run programs that require much more memory than actually exists by paging out and paging in sections of programs and data (tables, arrays etc.) as they are required. This works very well up to the point when the paging is taking too much of the resources at which point "thrashing" sets in and it all goes pear-shaped.
In other uses, a device may be described has having, say, 512K bytes of memory, 384K of which is addressable by the user. This means that the difference is pre-allocated to some other function such as the operating system. This would be typical of things like PDA's where the memory is non-volatile (the contents don't disappear at poer off) and there is no external storage like a disk drive.