C++04、常用数据占用内存空间大小---sizeof()

来源:互联网 发布:上半年经济数据 编辑:程序博客网 时间:2024/05/18 00:47

程序如下:


结果如下:


其中int 和 long 是四个字节,范围应该是-2^31 ---- 2^31 ,上面表述有误。

当然只有这几个,就太一般了,我们可以测一测,string以及vector和map 等数据类型空对象的大小。程序修改如下:


结果如下:


另:测试上述数据时,别忘了添加头文件:


另外需要注意的是,在同一类型的机器上,所有类型的指针的大小是固定的,比如64位都是8个字节,32都是4个字节。还是的就是需要注意sizeof()操作符,返回的是字节数,并不是数组大小。如int a [100]; sizeof(a)的值是400或800。求容量可以在比上个sizeof(int)。 最后,尤其需要特别注意的是,当数组是字符数组时,把数组名传递出去,初学时还忘记或不知道,该怎么用。

char c[100];   如果直接sizeof(c)得到的是数组大小,如果把数组名当做指针传出去,再sizeof(c),那结果就相当于sizeof(char*) 了。

0 0