如何区分c++中sizeof指针和sizeof类型的差异

avatar
作者
筋斗云
阅读量:0

在C++中,sizeof是一个运算符,用于计算数据类型或对象所占用的内存大小(以字节为单位)。当你使用sizeof运算符时,它会返回括号内数据类型或对象的大小。对于指针类型,sizeof返回的是指针本身所占用的内存大小,而不是它所指向的数据类型的大小。

下面是一个例子来说明sizeof指针和sizeof类型的差异:

#include <iostream>  int main() {     int a = 10;     int* p = &a; // p是一个指向int类型的指针      std::cout << "Size of int: " << sizeof(int) << " byte(s)" << std::endl; // 计算int类型的大小     std::cout << "Size of int pointer: " << sizeof(p) << " byte(s)" << std::endl; // 计算int指针类型的大小      return 0; } 

输出结果:

Size of int: 4 byte(s) Size of int pointer: 8 byte(s) 

在这个例子中,sizeof(int)返回的是int类型的大小,即4字节。而sizeof(p)返回的是指针p本身所占用的内存大小,即8字节(这取决于你的系统和编译器)。注意,这里的8字节并不是int类型的大小,而是指针类型的大小。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!