指針的大小與其指向的類型的大小相同,還是指針始終具有固定的大小?例如...指針的大小是多少?
int x = 10;
int * xPtr = &x;
char y = 'a';
char * yPtr = &y;
std::cout << sizeof(x) << "\n";
std::cout << sizeof(xPtr) << "\n";
std::cout << sizeof(y) << "\n";
std::cout << sizeof(yPtr) << "\n";
這會產生什麼結果? sizeof(xPtr)
會返回4,sizeof(yPtr)
返回1,還是2個指針實際返回相同的大小?我問這個的原因是因爲這些指針正在存儲一個內存地址而不是它們各自存儲地址的值。
不正確的,甚至在同一臺機器上的指針大小可以不同 – 4pie0
@ CF16就可以了,但我的答案只有斷言,現代桌面操作系統的,即Win32的/ 64,Linux的......你能不能給我在這些系統中有一個不同的例子呢? –
你自己提到了一些例外情況,例如,但是確定 – 4pie0