hello every one
i am trying to create a pointer to two dimensional character array located in code space of 8051
i am getting a warning of c182:pointer to different objects
my code is like this
unsigned char code table[120][5]={some values}//array daclaration
unsigned char code **ptr;//pointer to code memory
ptr = table;//trying to access this way
can any one tell what is the mistake in it
thanks®ards ganesh
You've fallen prey to the common misconception that pointers and arrays are fully interchangeable in C. They're not.
In particular, a pointer to an array of a multi-dimensional array is not constructed as a pointer-to-pointer-...to-element.
Correct code (setting aside the additional complication of the "code" keyword) would be any of
unsigned char (*ptr_to_whole_array)[120][5] = &table; unsignec char (*ptr_to_first_row)[5] = table; unsigned char *ptr_to_element = table[0];
thanks every one and special thanks to
Hans-Bernhard Broeker i did as u said
and i got the result
i think i got to work more on this arrays concept i previously worked on the two dimensional arrays but never faced this kind of situation
any way thanks to all of u