在 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
数组计算的是数组本身所占用的内存大小。