I'll be damned!!!!!
Just tried to add each char to a traditional char array and guess what... it works just fine....
Now on to refresh on how to send char arrays back and forth between functions...
When you declare an array, the name is a pointer (read: address) to the base of the array.
char buffer[ 40 ]; // buffer is now a char * (* means pointer) to element buffer.
// it can be used in any function where a char * arg is needed.
char *cptr; // this is a 'bare' pointer to type char
cptr = buffer; // cptr points to buffer[ 0 ]
cptr = &buffer[ 5 ]; // the & is the address-of operator. cptr now points to buffer[ 5 ]
cptr += 20; // cptr now points to buffer[ 25 ]
strcpy( buffer, "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" ); // filling up buffer
cptr = strchr( buffer, 'S' ); // cptr now points to the first letter S in buffer
byte idx = cptr - buffer; // idx = 18 and buffer[ 18 ] == 'S'
idx = *( cptr ); // now idx == 'S' == 65 + 18...... the * says give me the value at the address of the pointer
Pointers is like indexes only free from the names of arrays. This makes them extremely versatile and useful in functions that work on arrays, char arrays or any other kind of array. The function doesn't need to know what array it is working with and it can return a pointer without regard to array indexes.
Here is more reason to learn the use and power of pointers, you can make a pointer to anything including functions
. You can even make an array of function pointers that changes dynamically during run time and have the same control structures run different functions or sets of functions using those pointers. But only if you see a need or algorithmic shortcut of course. But you get none of this, can't even think in these terms unless you learn pointers.
IMO pointers are behind almost half if not more than half of C.
Multidimension pointers for multidimension arrays are just pointers to arrays of pointers, etc. Take a while to soak that in when you're ready, some practice here and there and it won't be any more confusing than the rest of C.
So, no pressure. Whenever you're ready there's a really good and worthwhile step in your coding education. Working with char array strings will help you understand pointers and pointers will help you with strings.
C++ String Objects OTOH, don't teach you much about these though you can point inside of the mystery box String Object. And then you add 1 char to the String and the box moves and your old pointer is useless... which is how I feel about "please insulate me from the realities of my hardware and my code that I'm too lazy or stupid to learn" C++ String Objects.