#include <iostream>using namespace std;int main() { char*a[]={"zzzz","zz","zzzzzzz"}; cout << sizeof(a) << endl; return 0; }
為什么輸出是24呢?為什么數(shù)組的大小不是5 + 3 + 8 = 16呢?
24
5 + 3 + 8 = 16
a存放的是三個(gè)字符串常量的地址,并不是直接存放3個(gè)字符串,一個(gè)地址也就是一個(gè)指針
a
如果你是32位操作系統(tǒng),則指針長度是4字節(jié),64位是8字節(jié),可以推算出你的編譯環(huán)境是64位的
吾愛知道 2024 © 吾愛知道鄂ICP備2022002577號(hào)-1
站內(nèi)文章地圖 站內(nèi)問答地圖 站內(nèi)作者地圖 站點(diǎn)標(biāo)簽地圖 站點(diǎn)地圖 站點(diǎn)標(biāo)簽 站點(diǎn)題庫