亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

C和C+中字符串的類型是什么?

C和C+中字符串的類型是什么?

C++ C
繁星coding 2019-06-14 15:30:16
C和C+中字符串的類型是什么?C中字符串文字的類型是什么?是嗎char *或const char *或const char * const?那C+呢?
查看完整描述

3 回答

?
萬千封印

TA貢獻1891條經驗 獲得超3個贊

C字符串文字具有類型char [n]哪里n等于字符數+1,以表示字符串末尾的隱式零。

數組將被靜態地分配;它不是const,但修改它是未定義的行為。

如果它有指針類型char *或不完全類型char []sizeof無法按預期工作。

生成字符串文本const是一個C+成語,而不是任何C標準的一部分。


查看完整回答
反對 回復 2019-06-14
?
開滿天機

TA貢獻1786條經驗 獲得超13個贊

由于各種歷史原因,字符串文本總是類型的。char[]在C.

在早期(在C 90中),有人說修改字符串文字會調用未定義的行為。

他們沒有禁止這樣的修改,也沒有制造字符串文本。const char[]這就更有意義了。這是為了與舊代碼的向后兼容性原因。一些舊的操作系統(尤其是DOS)不反對修改字符串文字,所以這里有很多這樣的代碼。

即使在最近的C標準中,C仍然有這個缺陷。

C+繼承了C中相同的缺陷,但在后來的C+標準中,它們最終形成了字符串文本const(在C+03中標記過時,最后在C+11中修正)。


查看完整回答
反對 回復 2019-06-14
  • 3 回答
  • 0 關注
  • 1190 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號