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

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

字符串文字的大小

字符串文字的大小

C++
翻過高山走不出你 2019-10-19 16:35:31
以下代碼#include <iostream>    using namespace std;int main(){    const char* const foo = "f";    const char bar[] = "b";    cout << "sizeof(string literal) = " << sizeof( "f" ) << endl;    cout << "sizeof(const char* const) = " << sizeof( foo ) << endl;    cout << "sizeof(const char[]) = " << sizeof( bar ) << endl;}輸出sizeof(string literal) = 2sizeof(const char* const) = 4sizeof(const char[]) = 2在使用GCC編譯的32位操作系統上。為什么要sizeof計算字符串文字的長度(所需的空間)?給予時,字符串文字是否具有不同的類型(與char *或char []不同)sizeof?
查看完整描述

2 回答

?
哆啦的時光機

TA貢獻1779條經驗 獲得超6個贊

sizeof返回其操作數的字節大小。這應該回答問題編號1 ;;)而且,當傳遞給時,字符串文字的類型為“數組為n const char” sizeof。

您的測試用例,一一列出:

  • "f"是由兩個字符組成的字符串文字,該字符f和終止NUL。

  • foo 是一個指針(編輯:不考慮限定詞),并且指針在您的系統上似乎是4個字節長。

  • 對于bar情況與相同"f"

希望能有所幫助。


查看完整回答
反對 回復 2019-10-19
  • 2 回答
  • 0 關注
  • 406 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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