Haven't tried this: Your structtale: struct yourstruct { ..... .... } yourstructtable[..]; Create an unsigned char array with initializers as follows: unsigned char addresstable[] = { 0*sizeof(yourstruct), 1*sizeof(yourstruct), etc, etc }; Now the calculations are carried out at compiletime. To reference struct yourstruct *strptr; *strptr = yourstructtable + addresstable[i]; Perhaps you have to cast around a little. HTH Marcel Lucian wrote: > Unfortunately the code has the same size if I write with > *(vector+address), probably the compiler does the same thing. But have > you any tips and tricks when it comes to using vectors but still > reducing the code size ? thank you... > > Lucian -- http://www.piclist.com hint: The PICList is archived three different ways. See http://www.piclist.com/#archives for details.