It isn't a silly question by any means - C is very difficult in terms of string processing. As you probably know, a string in C is an array of chars followed by a binary 0 (which is written '\0'). And arrays are by their very nature defined to have a certain length.
I know of no really easy way to address this problem but there are a few tricks that can be used. Depending on the exact problem you're facing, you could:
- Just define a big array which can take all possible strings you may want to put there
- Use realloc to change the size of the array if you need more space
- Use a pointer to a string and then change which string that pointer points to
There are other solutions you could also consider - for example, if you really want true independence from the array structure you could define your own String type as a linked list (though you wouldn't be able to use the predefined string functions with that of course). But as I said, I know of no really elegant solution.