|
|
1
12
编译器可以自由使用字符串实例化,即通过避免重复相同的数据来节省内存。2
然而,你不应该把这当作规则。这个
|
|
|
2
11
该代码在C语言中是合法的,它可能不会产生您期望的结果。
字符串文本的类型为
在比较中,
比较字符串文字的地址,这些地址可能相等,也可能不相等。 它相当于:
C标准不能保证具有相同内容的两个字符串文字的地址相等(
6.4.5,字符串文字 ( C11, draft )
同样,这种比较
相当于:
在这种情况下,字符串文本将位于不同的位置,指针比较失败。因此,在这两种情况下
相反,如果您使用 阵列 ,它将不起作用:
不同的是,当用字符串文字初始化数组时
复制
到阵列中。阵列
|
|
|
3
0
它是复制/比较字符串的地址,而不是字符串的内容。 比较地址是有效的操作 |
|
AstralHex · 矩阵乘法代码工作不正常 1 年前 |
|
|
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 1 年前 |
|
|
Die4Toast · 递归调用成员箭头运算符-> 1 年前 |
|
|
Anka Hanım · 关于结构和动态数组地址的问题 1 年前 |