温馨提示×

c++ sizeof指针与数组的关系

c++
小樊
83
2024-09-24 22:51:13
栏目: 编程语言

在 C++ 中,sizeof 是一个运算符,用于计算数据类型或对象所占用的内存大小(以字节为单位)。对于指针和数组,sizeof 的作用略有不同。

  1. 指针:sizeof 用于计算指针变量所占用的内存大小。无论指针指向何种类型的数据,指针本身所占用的内存大小是固定的。在 32 位系统中,指针通常占用 4 字节(32 位),而在 64 位系统中,指针通常占用 8 字节(64 位)。

示例:

int *ptr;
std::cout << "Size of ptr: " << sizeof(ptr) << " byte(s)" << std::endl;
  1. 数组:sizeof 用于计算数组所占用的内存大小。数组所占用的内存大小等于数组中所有元素所占用的内存大小之和。需要注意的是,sizeof 计算的是整个数组的大小,而不是数组中某个元素的大小。

示例:

int arr[5] = {1, 2, 3, 4, 5};
std::cout << "Size of arr: " << sizeof(arr) << " byte(s)" << std::endl;

总结:sizeof 指针计算的是指针本身的大小,而 sizeof 数组计算的是数组本身所占用的内存大小。

0