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