Question on Mega memory size Vs GCC

I've been reading around a bit in anticipation of getting a Mega Arduino someday and I have a question about the flash memory on the mega1280:

128 KB of which 4 KB used by bootloader

Does that mean all 124K can be used with normal sketches or is the GCC tool chain restricted to 16 bit pointers/address counters/etc ?

Lefty

I imagine you can mostly use the 124k except you have to be wary of things like pointers to functions and constant arrays etc. stored in FLASH.

Unless you want to mess around with the RAMPZ and EIND registers, keep all FLASH-based arrays and functions for which you form pointers in the lower 64k.