problem with array in library

Whats the benefit to make the type in an unsigned int ? : uint8_t

RANGE:
int = -32768..32767
unsigned int = 0..65535
uint8_t = 0..255 // unsigned in 8 bits

FOOTPRINT
int array[256]; takes 256 x int = 2 bytes = 512 bytes
uint8_t array[256] takes 256 x 1 byte = 256 bytes.

As you only have 2048 bytes of RAM this differs 12.5%

Could you post your working code for all who find this thread interesting?