Arduino memory info

"There are three pools of memory in the microcontroller used on Arduino boards (ATmega168): From :http://www.arduino.cc/en/Tutorial/Memory
 * Flash memory (program space), is where the Arduino sketch is stored.
 * SRAM (static random access memory) is where the sketch creates and manipulates variables when it runs.
 * EEPROM is memory space that programmers can use to store long-term information."

Arduino mega 2560 has the following amounts of memory

From: http://arduino.cc/en/Main/ArduinoBoardMega2560

Memory required for various types:

byte: 1 byte

int: 2 bytes

char: 1 byte

float: ?????

Possible solutions for running out of SRAM:
 * "If your sketch talks to a program running on a (desktop/laptop) computer, you can try shifting data or calculations to the computer, reducing the load on the Arduino.
 * If you have lookup tables or other large arrays, use the smallest data type necessary to store the values you need; for example, an int takes up two bytes, while a byte uses only one (but can store a smaller range of values).
 * If you don't need to modify the strings or data while your sketch is running, you can store them in flash (program) memory instead of SRAM; to do this, use the PROGMEM keyword."