uOLED and String to char [noob ?]

I have a uOLED screen and I want to show strings using the following code:

char* myStrings[]={"string1", "string2", "string3", "string4", "hello", "world"};

// text (string of text) graphical example
// void TextGraphic(char x, char y, char font, int color, char Width, char Height, char *text, char transparent);
uoled.TextGraphic(0,15,SMALL_FONT,0xffff,1,2,myStrings[5],1); // draws at row 0, column 15, with small font, in color white, normal font width, twice font height, text (value of myStrings[5]), opaque
delay(1500);
uoled.Cls(); // Clears screen

How can I change the values of the strings in:
char* myStrings[]={"string1", "string2", "string3", "string4", "hello", "world"};
dynamically?

If I put a string variable in place of one of the strings I get:
error: cannot convert 'String' to 'char*'

If I try to put a char variable in place of one of the strings I get:
error: invalid conversion from 'char' to 'char*'

The uoled.TextGraphic() function wants a char and I cannot figure out how to create a char variable which changes dynamically (for example with the value of an int).

I know I am missing some basic concept here.
Can someone give an example how to dynamically change the value of a char variable?

jpkelly:
If I put a string variable in place of one of the strings I get:
error: cannot convert 'String' to 'char*'

Can you show the code for what you are attempting rather than just describing it?

How about String myStrings[]={"string1", "string2", "string3", "string4", "hello", "world"}; ??

It isn't clear if you want to simply point to different strings (simple), or actually edit the strings in situ (potentially dangerous).
If the former, no need to use the String class.
But, like Nick said, you need to post code.

jpkelly:
If I try to put a char variable in place of one of the strings I get:
error: invalid conversion from 'char' to 'char*'

The uoled.TextGraphic() function wants a char and I cannot figure out how to create a char variable which changes dynamically (for example with the value of an int).

A char variable holds a single character (eg. 'x'), so it can't hold "12345". You need an array of char (ie. char *). You need to show your code so we can help you more.

acarb:
How about String myStrings[]={"string1", "string2", "string3", "string4", "hello", "world"}; ??

Where is the string variable "in place of one of the strings"?

I thought that piece of code would produce an array of 6 Strings, and initialize them with the provided array. And that would let him change those Strings dynamically. Which means we may say

String s1, s2,s3,s4,s5,s6;
String myStrings[]={s1,s2, ...};

The array may also consist of pointers to Strings, so that each element in the array would be updated automatically. I guess that is what jpkelly wants.

String s1, s2,s3,s4,s5,s6;
String* myStrings[]={&s1,&s2, ...};

Please correct me if I am wrong.

acarb:
The array may also consist of pointers to Strings, so that each element in the array would be updated automatically.

I think you need to clarify what you mean by "automatically" in this case.

Also we seem to be straying from some sort of real-world scenario (like, heating a room) to some hypothetical case of arrays of strings (or arrays of addresses to strings) which update automatically.

In case of using array of pointers, if s1 is updated, *myStrings[0] will also be updated. That was what I meant by "automatically".

Sorry if it was not clear what I want to do. Here is a scenario:

String stringVar = "My string";
int intVar = 123;
char* myStrings[]={stringVar, intVar, "string3", "string4", "hello", "world"};

this produces:
error: cannot convert ‘String’ to ‘char*’ in initialization
error: invalid conversion from ‘int’ to ‘char*’

I have tried:

char* myStrings[]={char(stringVar), char(intVar), "string3", "string4", "hello", "world"};

which produces:
error: invalid cast from type ‘String’ to type ‘char’

No, still not clear.
Tell us what you want to do, not how you think you should it.

AWOL:
No, still not clear.
Tell us what you want to do, not how you think you should it.

String stringVar = "My string";
int intVar = 123;
char* myStrings[]={stringVar, intVar, "string3", "string4", "hello", "world"}; // I want to insert the values of the variables stringVar and intVar into the char* array

The char* array takes the strings "string3", "string4", "hello", "world" ok so I imagine if I put a string variable (stringVar) in the array it would work as well. (It does not.)

I can see that putting an int variable (intVar) might not work so I try using String(intVar) but it gives an error: error: cannot convert 'String' to 'char*' in initialization

No, you're still telling us how you think you should do what you want to achieve.

AWOL:
No, you're still telling us how you think you should do what you want to achieve.

Here is what I want to do.
Take for example this code:

char* myStrings[]={"string 1", "string 2", "string 3"};

I want to insert a variable such as a string variable or an int variable in place of one (or more) of the members of the char* array.
So for example, rather than having the first member be "string 1" (I presume this is a string, correct me if I am wrong please.) I would like the first member to be a String variable such as stringVar1 (no quotes).

You simply cannot mix data types like that.
You are still telling us what you think you want to do.

AWOL:
You simply cannot mix data types like that.
You are still telling us what you think you want to do.

In the statement:

char* myStrings[]={"string 1", "string 2", "string 3"};

Is "string 1" a String?

How can I make the member "string 1" a variable which may be changed by other parts of the program?
Right now it is 'hard coded' as "string 1". Is it possible to use a variable in its place?

No, "string 1" is not a String.

At the risk of repeating myself, you're telling us how you think you should be doing whatever it is you want to do, not what you want to do.

AWOL:
No, "string 1" is not a String.

What is it then?

It's a C string.

What is it then?

It is a string. Note the lower case s, versus the upper case S in String.

A String is a wrapper for handling strings, which are NULL terminated arrays of characters.

I want to put the value/contents of a String variable into one of the members of the char* array in a form that the char* array will accept.

(I am really trying not to speculate on how to do this or if it is even possible.)