面試官的問題涉及拼字錯誤,因為“?”運算符在語義上無效。假設存在印刷錯誤,我們可以解釋預期的問題:
“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中文網其他相關文章!