Hi all, hope you had a good christmas
Em yeah so String literals, my lecturer mentioned this, you can't modify a string literal.

I guess he meant something like this:
Code:
           char *string = "Hello World" ;
that would be unmodifiable because string is not only a pointer to H and somewhere in memory, its memory is already static...so using strcat on is wrong.
in what other occasions can you not modify a string?
also if i had
Code:
 
        string s = "Hello" + "World" ;// why is that not possible? Joining 2 string literals? 
//whereas this
        string str = "Hello" + string("World") //or viceversa is correct.. I 
                                                                  //  know something   to do with pointers?
and also how come when I do this
Code:
            printf("%p", &"Hello World") ;
displays an actual address..which means "Hello World" is stored in memory before it is displayed to the screen or in my case before the address is displayed to the screen..
but
Code:
                 printf("%p", &1) //fails to work?
Thanks.