This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Lookup Table Using Array

Hi,

This is my code:

#define NUMBER_OF_ROWS 50
#define NUMBER_OF_COLS 2
unsigned int Array[NUMBER_OF_ROWS] [NUMBER_OF_COLS] = {
{100,50},
{20 ,10 },
{16 , 8 },
{14 , 7 },
{12 , 6 },
{11 , 5.5 },
{10 , 5 },
{9.1, 4.55},
{2 , 1 } and so on until 50 rows..};

The problem is I have 50 elements needed for a lookup table, but the following error occur: Array.h(57): error C242: 'array[]': too many initializers

When I initialize number of rows to 45, no error prompt. I need to use all the 50 elements. Is this the only way for me to create a lookup table? Can someone guide me on using more simpler method? Please help me. Thanks.

Parents Reply Children
  • Floating point values can be stored - and then retrieved - from an unsigned int??? Are you really, really sure? Note that the compiler has to "downgrade" from float to int when assigning to an int. So having the value 9.1 in the source code will just trick a developer into believing you have an array with that value when in reality you haven't.

    Have you considered looking at the memory map of your processor? Exactly which memory region do you want the compiler to store your 50*2*2 = 200 byte large array in? Are you using a memory model where all variables are stored in XRAM?