Using the Flash memory to store a lookup table

Hey everyone, I have a sketch in which I need to store a static lookup table for use by the program at various points. However, it's too large to fit in RAM - too large to fit in the EEPROM also. I do have plenty of flash memory space left - is there a straightforward way I can go about writing the array to the onboard flash memory? I don't need to modify the data at all while the program is running, I just need to be able to put it in at compile time and read it when the program is running.

Edit: I found this after hunting around more, which seems to be exactly what I need! http://www.arduino.cc/en/Reference/PROGMEM

My only concern which I'm not completely clear on is whether the data has to first fit in the RAM before it is written out of the RAM and into Flash. If this is the case, it could be a problem. :-?

PROGMEM tables are simply compiled into the executable code; they shouldn't need to ever go near user RAM, except when being buffered by the bootloader, which you don't need to worry about.