sizeof 简单分析

来源:互联网 发布:长春玛雅软件培训 编辑:程序博客网 时间:2024/06/13 14:26
#include "stdio.h"//#pragma pack(1)//多少个字节对齐数//用#pragma pack(1)这个限定多少个字节对齐,结果自己算struct _TestStruct0{}_TestStruct0, *_pTestStruct0;struct _TestStruct1{double d1;char ch1;int i1;}_TestStruct1, *_pTestStruct1;struct _TestStruct2{char ch1;double d1;int i1;}_TestStruct2, *_pTestStruct2;struct _TestStruct3{char ch1;int i1;double d1;}_TestStruct3, *_pTestStruct3;class _TestClass{}_TestClass, *_pTestClass;int main(){printf("_pTestClass:%d\n", sizeof(_pTestClass));//4指针printf("_TestClass:%d\n", sizeof(_TestClass));//空结构体 保存地址 字节1printf("_pTestStruct0:%d\n", sizeof(_pTestStruct0));//4指针printf("_TestStruct0:%d\n", sizeof(_TestStruct0));//空结构体 保存地址 字节1printf("_pTestStruct1:%d\n", sizeof(_pTestStruct1));//4指针printf("_TestStruct1:%d\n", sizeof(_TestStruct1));//16结构体  8(double) + 1(char) + 4( int) + 3(对齐)printf("_pTestStruct2:%d\n", sizeof(_pTestStruct2));//4指针printf("_TestStruct2:%d\n", sizeof(_TestStruct2));//24结构体  1(char) +7(对齐)+ 8(double) + 4( int) + 4(对齐)printf("_pTestStruct3:%d\n", sizeof(_pTestStruct3));//4指针printf("_TestStruct3:%d\n", sizeof(_TestStruct3));//16结构体  1(char) +3(对齐)+ 4( int) + 8(double) return 0;}


0 0
原创粉丝点击