sizeof 32bit 64bit

原创 2012年03月29日 23:52:34
	printf("short:%d\n",sizeof(short)); 
	printf("double:%d\n",sizeof(double)); 
	printf("long double:%d\n",sizeof(long double)); 
	printf("long:%d\n",sizeof(long)); 
	printf("int:%d\n",sizeof(int)); 
	printf("float:%d\n",sizeof(float)); 
	printf("char:%d\n",sizeof(char)); 





只要是指针,包括char *,sizeof为4。

对数组名求sizeof时,不把它当指针看,sizeof为该数组实际分配的字节数,char[]类型数组也遵循这条规律,数组元素个数可通过初始化表隐形指定。

--------------------------------------------------------------------------------------------------------------------------------------------

以上讨论针对32bit cpu。 

32bit cpu 8字节的类型只有double、 long double和long long。

对于64bit cpu 指针和带一个long的类型变为原来的两倍,其他不变(包括double)。

运行结果如下:(分别用蓝色和红色标记了两者的差异)

——————————————————————————

机器平台:X86_64 处理器

操作系统:Red Hat 4.1.2-14

编译器: gcc version 4.1.2 20070626

Size of char is:                                   1

Size of unsigned char is:                     1

Size of signed char is:                  1

Size of int is:                                    4

Size of short is:                                2

Size of long is:                                  8

Size of long int is:                             8

Size of signed int is:                           4

Size of unsigned int is:                       4

Size of unsigned long int is:                8

Size of long long int is:                       8

Size of unsigned long long is:              8

Size of float is:                    4

Size of double is:                 8

Size of long double is:          16

Size of (void *) is:           8

Size of (char *) is:           8

Size of (int *) is:             8

Size of (long *) is:           8

Size of (long long *) is:   8

Size of (float *) is:          8

Size of (double *) is:              8

——————————————————————————

机器平台: X86_32 处理器

操作系统:  Windows XP SP2

编译器:    VS2005自带的C++编译器

Size of char is:                            1

Size of unsigned char is:              1

Size of signed char is:           1

Size of int is:                       4

Size of short is:                    2

Size of long is:                     4

Size of long int is:                4

Size of signed int is:             4

Size of unsigned int is:          4

Size of unsigned long int is:         4

Size of long long int is:                8

Size of unsigned long long is:       8

Size of float is:                    4

Size of double is:                 8

Size of long double is:          8

Size of (void *) is:          4    

Size of (char *) is:          4

Size of (int *) is:             4

Size of (long *) is:          4

Size of (long long *) is:   4

Size of (float *) is:          4

Size of (double *) is:       4

---------------------------------------------------------------

(1)空结构体或类,sizeof大小为1

(2)c++中静态成员存放在全局数据区,sizeof计算栈中分配大小,故不包含在内

(3)char数组作为sizeof参数时不退化,作为strlen参数时退化为char *

(4)数组作为函数形参时,退化为指针,故其sizeof返回指针长度



【Python基础】--Pickle/函数默认参数/函数的参数*args/Bytes<=>str/32-64bit/bytes对象

Pickle >>> import pickle >>> my_list = [1, 2, 3, 'haha', ['and', 'or']] >>> pickle_file = open('my_l...
  • waldmer
  • waldmer
  • 2016年11月15日 08:24
  • 689

关于安装CUDA环境的一些总结(vs2010+cuda5.5)[32/64bit均有]

由于实验室的需要,最近要装CUDA的东西,但是由于从来没有接触过,在开始的时候搞的挺纠结的,导致搞了四五天都没搞好,各种问题,主要在于硬件环境对于VS的CUDA的编程环境的影响。因为我自己的笔记本是6...

Ubuntu 12.04 64bit 无法安装ia32-libs 解决方法

错误信息: Html代码   junior@mediacenter:~$ sudo apt-get install ia32-libs   Reading package l...

win8 32/64bit VS2012 OpenCV 2.4.9 环境配置(win7 win10通用)

win8 32/64bit VS2012 OpenCV 2.4.9 环境配置 资料下载: OpenCV 2.4.9下载地址:http://sourceforge.net/projects/o...

win7/8(32/64bit)系统下使用STC-ISP的问题与解决方法(MSCOMM32.OCX)

STC-ISP是学习STC单片机过程中下载程序的软件,目前大多数计算机爱好者的计算机系统都是window7/window8(32/64bit),在使用这款软件的过程中会遇到很多问题。这里我通过网络搜集...

emacs-64bit-on-mingw32

  • 2015年10月29日 00:37
  • 46.25MB
  • 下载

Android——APK 在32bit/64bit平台 动态库问题

目前64bit android系统也慢慢的多了,看到也有apk声称支持64bit system,然后就往里面打包搞了个arm64-v8a 目录,放了个64bit的so,但是apk代码里面却不按规范去l...
  • jscese
  • jscese
  • 2015年08月04日 18:46
  • 8849

HiJson2.1.2(32&amp;64bit)

  • 2016年11月21日 13:22
  • 5.35MB
  • 下载

Total_Commander_v8.51a[32+64bit]+keyfile.rar

  • 2015年07月17日 00:10
  • 6.07MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:sizeof 32bit 64bit
举报原因:
原因补充:

(最多只允许输入30个字)