验证:VC常用基本类型的字节大小

有时候,总想验证一些奇怪的想法,干脆就写下来,以备后查。

想法:VC常用基本类型的字节大小

// 函数功能: 测试VC基本类型 
// 备    注: 占用空间大小等
void TestCase_BaseTypeSize()
{
#ifndef _WIN64
	printf_s("running with x86. \n");
#else
	printf_s("running with x64. \n");
#endif

	printf_s("---------------- c basic type size ---------------- \n");
	printf_s("sizeof(bool)        =   %d \n", sizeof(bool));    // 1
	printf_s("sizeof(int)         =   %d \n", sizeof(int));     // 4
	printf_s("sizeof(char)        =   %d \n", sizeof(char));    // 1
	printf_s("sizeof(short)       =   %d \n", sizeof(short));   // 2
	printf_s("sizeof(long)        =   %d \n", sizeof(long));    // 4
	printf_s("sizeof(float)       =   %d \n", sizeof(float));   // 4
	printf_s("sizeof(double)      =   %d \n", sizeof(double));  // 8
	printf_s("sizeof(wchar_t)     =   %d \n", sizeof(wchar_t)); // 2
	printf_s("sizeof(int*)        =   %d \n", sizeof(int*));    // 4(x86) 8(x64)
	printf_s("sizeof(char*)       =   %d \n", sizeof(char*));   // 4(x86) 8(x64)
	
	printf_s("---------------- extended type size ---------------- \n");

	char *pChar = NULL;
	printf_s("pChar+1             =   %d \n", pChar+1);         // 1

	int *pInt = NULL;
	printf_s("pInt+1              =   %d \n", pInt+1);          // 4

	double *pDouble = NULL;
	printf_s("pDouble+1           =   %d \n", pDouble+1);       // 8

	printf_s("---------------- extended type size ---------------- \n");

	printf_s("sizeof(time_t)               =   %d \n", sizeof(time_t));            // 4(x86) 8(x64)
	printf_s("sizeof(__time32_t)           =   %d \n", sizeof(__time32_t));        // 4
	printf_s("sizeof(__time64_t)           =   %d \n", sizeof(__time64_t));        // 8
	printf_s("sizeof(LONGLONG)             =   %d \n", sizeof(LONGLONG));          // 8
	printf_s("sizeof(LARGE_INTEGER)        =   %d \n", sizeof(LARGE_INTEGER));     // 8
	printf_s("sizeof(ULARGE_INTEGER)       =   %d \n", sizeof(ULARGE_INTEGER));    // 8
	printf_s("sizeof(DWORD)                =   %d \n", sizeof(DWORD));             // 4
	printf_s("sizeof(DWORD32)              =   %d \n", sizeof(DWORD32));           // 4
	printf_s("sizeof(DWORD64)              =   %d \n", sizeof(DWORD64));           // 8
	printf_s("sizeof(LONG)                 =   %d \n", sizeof(LONG));              // 4
	printf_s("sizeof(LONG32)               =   %d \n", sizeof(LONG32));            // 4
    printf_s("sizeof(LONG64)               =   %d \n", sizeof(LONG64));            // 8
	printf_s("sizeof(INT)                  =   %d \n", sizeof(INT));               // 4
	printf_s("sizeof(INT32)                =   %d \n", sizeof(INT32));             // 4
	printf_s("sizeof(INT64)                =   %d \n", sizeof(INT64));             // 8
}

执行结果:

Visual Leak Detector Version 2.5.1 installed.
running with x86.
---------------- c basic type size ----------------
sizeof(bool)        =   1
sizeof(int)         =   4
sizeof(char)        =   1
sizeof(short)       =   2
sizeof(long)        =   4
sizeof(float)       =   4
sizeof(double)      =   8
sizeof(wchar_t)     =   2
sizeof(int*)        =   4
sizeof(char*)       =   4
---------------- extended type size ----------------
pChar+1             =   1
pInt+1              =   4
pDouble+1           =   8
---------------- extended type size ----------------
sizeof(time_t)               =   8
sizeof(__time32_t)           =   4
sizeof(__time64_t)           =   8
sizeof(LONGLONG)             =   8
sizeof(LARGE_INTEGER)        =   8
sizeof(ULARGE_INTEGER)       =   8
sizeof(DWORD)                =   4
sizeof(DWORD32)              =   4
sizeof(DWORD64)              =   8
sizeof(LONG)                 =   4
sizeof(LONG32)               =   4
sizeof(LONG64)               =   8
sizeof(INT)                  =   4
sizeof(INT32)                =   4
sizeof(INT64)                =   8
No memory leaks detected.
Visual Leak Detector Version 2.5.1 installed.
running with x64.
---------------- c basic type size ----------------
sizeof(bool)        =   1
sizeof(int)         =   4
sizeof(char)        =   1
sizeof(short)       =   2
sizeof(long)        =   4
sizeof(float)       =   4
sizeof(double)      =   8
sizeof(wchar_t)     =   2
sizeof(int*)        =   8
sizeof(char*)       =   8
---------------- extended type size ----------------
pChar+1             =   1
pInt+1              =   4
pDouble+1           =   8
---------------- extended type size ----------------
sizeof(time_t)               =   8
sizeof(__time32_t)           =   4
sizeof(__time64_t)           =   8
sizeof(LONGLONG)             =   8
sizeof(LARGE_INTEGER)        =   8
sizeof(ULARGE_INTEGER)       =   8
sizeof(DWORD)                =   4
sizeof(DWORD32)              =   4
sizeof(DWORD64)              =   8
sizeof(LONG)                 =   4
sizeof(LONG32)               =   4
sizeof(LONG64)               =   8
sizeof(INT)                  =   4
sizeof(INT32)                =   4
sizeof(INT64)                =   8
No memory leaks detected.

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值