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

changing value using array of pointers

Dear Sir,

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

Note: I cannot use a 2-dimentional array here.

Now I wish to write "25F" instead of "25C" i.e. I want to replace 'C' by 'F'. I am unable to do
it. I tried to do this with statement
STemperature[2][2] = 'F' but this doesn't work.

How should I implement this.

Regards,

Mohit

Parents
  • Mohit,

    Your defintion:

    unsigned char *sTemperature [4] = {"NIL","25C ","30C ","37C "};

    creates an array of pointers to string literals (or string constants). The rules of C state that a string literal is read-only and connot be modified. You have created an internal static array.

    You will need to create a new definition for sTemperature.

Reply
  • Mohit,

    Your defintion:

    unsigned char *sTemperature [4] = {"NIL","25C ","30C ","37C "};

    creates an array of pointers to string literals (or string constants). The rules of C state that a string literal is read-only and connot be modified. You have created an internal static array.

    You will need to create a new definition for sTemperature.

Children