在 C++ 中,sizeof
是一個運算符,用于計算數據類型或對象所占用的內存大小(以字節為單位)。對于指針和數組,sizeof
的作用略有不同。
sizeof
用于計算指針變量所占用的內存大小。無論指針指向何種類型的數據,指針本身所占用的內存大小是固定的。在 32 位系統中,指針通常占用 4 字節(32 位),而在 64 位系統中,指針通常占用 8 字節(64 位)。示例:
int *ptr;
std::cout << "Size of ptr: " << sizeof(ptr) << " byte(s)" << std::endl;
sizeof
用于計算數組所占用的內存大小。數組所占用的內存大小等于數組中所有元素所占用的內存大小之和。需要注意的是,sizeof
計算的是整個數組的大小,而不是數組中某個元素的大小。示例:
int arr[5] = {1, 2, 3, 4, 5};
std::cout << "Size of arr: " << sizeof(arr) << " byte(s)" << std::endl;
總結:sizeof
指針計算的是指針本身的大小,而 sizeof
數組計算的是數組本身所占用的內存大小。