devxlogo

Memory Representation of Identical String Literals is Implementation Defined

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’.

devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist