char str1[] = "hello bit."; const char* str2 = "hello bit."; str1和str2可能相等吗,为什么
时间: 2024-04-07 07:30:34 浏览: 92
浅析string 与char* char[]之间的转换
5星 · 资源好评率100%
str1的类型是字符数组(char array),而str2的类型是指向常量字符的指针(const char*)。
在C语言中,字符串字面值(如"hello bit.")被存储为常量字符数组。当我们将一个字符串字面值赋给一个字符数组时,会创建一个新的字符数组,并将字符串内容复制到数组中。
对于str1,它是一个字符数组,存储了"hello bit."的内容。因此,str1的值是可修改的。
而对于str2,它是一个指向常量字符的指针,指向了字符串字面值"hello bit."的首地址。这意味着str2指向的内容是不可修改的。
因此,尽管str1和str2可能包含相同的字符串内容,但它们的类型不同。str1是一个可修改的字符数组,而str2是一个指向常量字符的指针。所以它们不一定相等。
阅读全文