面试官的问题涉及拼写错误,因为“?”运算符在语义上无效。假设存在印刷错误,我们可以解释预期的问题:
“char a[] = “string”;”之间有什么区别和 "char *p = "string";"?
数组与指针
这些声明之间的主要区别在于它们创建的数据结构:
主要区别
Feature | Array | Pointer |
---|---|---|
Data Type | Character Array | Character Pointer |
Modificability | Modifiable | Immutable |
Size Determination | sizeof can be used | strlen function must be used |
Usage | Used when the string content needs modification | Used when the string content remains constant |
使用注意事项
根据场景,您需要选择正确的数据结构:
标准合规性
在 C 中,不推荐使用不带“const”关键字的字符串文字。因此,正确的声明是:
C 与 C注意
请记住,这些概念专门适用于 C 而不是 C 。在 C 中,字符串处理是不同的,前面提到的代码结构不会用于字符串操作。
以上是`char a[] = 'string';` 和 `char *p = 'string';` 有什么区别?的详细内容。更多信息请关注PHP中文网其他相关文章!