我想知道C++如何處理變量,以便整數變量的內存中的兩個地址相繼聲明和初始化的距離是3537492 - 3537480 = 12(我假設位(?))內存變量之間的距離
#include <cstdio>
using namespace std;
int main(int argc, char ** argv)
{
int x = 1;
int y = 2;
printf("int:\t%d\n", sizeof(int));
printf("unsigned int:\t%d\n", sizeof(unsigned int));
printf("Address of x\n\tHex:\t%p\n\tDec:\t%d\n", &x, &x);
printf("Address of y\n\tHex:\t%p\n\tDec:\t%d\n", &y, &y);
return 0;
}
輸出:
int: 4 unsigned int: 4 Address of x Hex: 0035FA54 Dec: 3537492 Address of y Hex: 0035FA48 Dec: 3537480
這是12位_bytes_不是位。 – 2015-01-27 00:41:25
您計算的差異是字節數。 C++如何處理變量完全是平臺,特定於編譯器設置。在某些情況下,變量不會保存在內存中。 – 2015-01-27 00:41:38
你的問題是什麼? – 2015-01-27 00:41:52