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

problem with character pointer

Hello,

1) I am declaring a pointer to a string as
Xdata Unsigned char *sTemperature [4] = {"NIL","25 ","30 ","37 "};

This is shown in the .lst file as a array occupying only 12 bytes where as it should take 16 bytes according to me (4 bytes for NULL characters also) Why is it so?

Also if I give the statement:
STemperature[2][2] = 'C';
'C' is not appended after 25 in the program. What is wrong?

2) If I declare a array as:
Unsigned char display[40];
Unsigned char sBlankString = " "; /* say a string of 40 blank characters */

And give a statement
Strncpy(&display[400],sBlankString,strlen(sBlankString));

Shouldn't the compiler give a warning message as we are copying at display[400] where as the
Display is defined only for 40 characters?


Regards,

Mohit

0