Memory Representation of Identical String Literals is Implementation Defined

It is implementation-defined whether identical string literals are treated as distinct objects. Consider this code snippet:

 extern const char msg1[] = "hello";extern const char msg2[] = "hello";int main(){  bool eq = (msg1 == msg2); //true or false? result is implementation defined  return 0;}

Some implementations might store the constants msg1 and msg2 at the same memory address (on such implementations, the value of the variable eq is ‘true’). Other implementations store msg1 and msg2 in two distinct memory addresses, and in this case, eq is ‘false’.

Share the Post:
Share on facebook
Share on twitter
Share on linkedin


Recent Articles: