Ok that's clear now, but i dont understand why you insist on writing constchar* s instead of char* s. s is not a const pointer after all (see definition in first post by hooshdar3)
Because the C/C++ standards supress to change string literals. The compiler may place string literals in the read-only memory. Moreover depending on compiler options it can place two string literals with the same contents either in the same location or in different locations. So it can be that
the result of expression "Hello" == "Hello" will be either true or false depending on options of the compiler.
I gave an answer to a similar question here
http://cpp.forum24.ru/?1-1-0-00000002-000-0-0-1343475536
Though it is written in Russia you can use google translate to read the thread. It is named as "A string literal and a pointer to a string: what is the difference."