#include "stdafx.h"
struct MyStruct1
{
};
struct MyStruct2
{
char a;
};
#pragma pack(2)
struct MyStruct3
{
};
struct MyStruct4
{
char a;
};
#pragma pack()
struct MyStruct5
{
char a;
int b;
short c;
};
#pragma pack(2)
struct MyStruct6
{
char a;
int b;
short c;
};
#pragma pack()
void print()
{
int size1 = sizeof(struct MyStruct1);
int size2 = sizeof(struct MyStruct2);
int size3 = sizeof(struct MyStruct3);
int size4 = sizeof(struct MyStruct4);
int size5 = sizeof(struct MyStruct5);
int size6 = sizeof(struct MyStruct6);
printf("%d\n",size1);
printf("%d\n",size2);
printf("%d\n",size3);
printf("%d\n",size4);
printf("%d\n",size5);
printf("%d\n",size6);
}
int _tmain(int argc, _TCHAR* argv[])
{
print();
getchar();
return 0;
}
输出结果:
1
1
1
1
12
8
分享到:
相关推荐
本文就C语言中字节对齐的问题进行详细的解析,感性趣的朋友可以看看。
介绍C语言字节对齐的文档,对C语言字节对齐讲述得很清楚,特别适合新手对结构体不清楚的情况下参考
c语言字节对齐
本文档从硬件角度讲述产生字节对齐的根本原因,并对字节对齐的多种情况作了较为详细的说明,并对字节对齐产生的一些影响做了说明
C语言字节对齐[归类].pdf
C语言字节对齐__align()讲解[整理].pdf
在C语言中,结构是一种复合数据类型,其构成元素既可以是基本数据类型(如int、long、float等)的变量,也可以是一些复合数据类型(如数组、结构、联合等)的数据单元。
关于数据在内存中的存储,linux,wendows中结构体的字节对齐详细说明
C语言常见算法示例,C语言常见算法示例,C语言常见算法示例
C语言综合设计示例C语言综合设计示例
C语言中的字节对齐详解,描述字节对齐对程序的影响,编译器的字节对齐原则等等。
写出一个struct,然后sizeof,你会不会经常对结果感到奇怪?sizeof的结果往往都比你声明的变量总长度要大,这是怎么回事呢?讲讲字节对齐吧.
C语言库函数示例教程 C语言库函数示例教程 C语言库函数示例教程 C语言库函数示例教程 C语言库函数示例教程 C语言库函数示例教程 C语言库函数示例教程 C语言库函数示例教程 C语言库函数示例教程
适合初学指针的C语言学生
1、什么是对齐,以及为什么要对齐 2、对齐的作用和原因 3、对齐的实现
C语言结构体的字节对齐及指定对齐方式.docx
C语言库函数及其示例,用于初学者学习C语言和掌握库函数
C语言内存对齐.pdf