当前位置:  编程技术>c/c++/嵌入式

C/C++语言中结构体的内存分配小例子

    来源: 互联网  发布时间:2014-10-21

    本文导语:  当未用 #pragma 指令指定编译器的对齐位数时,结构体按最长宽度的数据成员的宽度对齐;当使用了 #pragma 指令指定编译器的对齐位数时,结构体按最长宽度的数据成员的宽度和 #pragma 指令指定的位数中的较小值对齐。 #pragma 指...

当未用 #pragma 指令指定编译器的对齐位数时,结构体按最长宽度的数据成员的宽度对齐;当使用了 #pragma 指令指定编译器的对齐位数时,结构体按最长宽度的数据成员的宽度和 #pragma 指令指定的位数中的较小值对齐。

#pragma 指令格式如下所示:
#pragma pack(4)     // 或者 #pragma pack(push, 4)

举例如下:(机器字长为 32 位)
    struct
    {
        char a;
    }test;
    printf("%d/n", sizeof test);

打印出来的结果为 1;

    struct
    {
        char a;
        short b;
        char c;
    }test;
    printf("%d/n", sizeof test);

打印出来的结果为 6;

    struct
    {
        char a;
        int b;
        char c;
    }test;
    printf("%d/n", sizeof test);

打印出来的结果为 12;

    struct
    {
        char a;
        double b;
        char c;
    }test;
    printf("%d/n", sizeof test);

打印出来的结果为 24;

    #pragma pack(4)
    struct
    {
        char a;
        double b;
        char c;
    }test;
    printf("%d/n", sizeof test);

打印出来的结果为 16;


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • linux下进程间通信:共享内存原理及具体用法举例(基于c/c++语言)
  • 在Linux上用C语言编写的函数里面申请了一块内存,并且返回这块内存,最终它需要释放吗?
  • C 语言内存错误检测工具 memwatch
  • 在语言中,什么是共享内存,怎样使用,举例?
  • C语言内存泄漏检测工具 MemLeak
  • linux C语言 如何获取系统可用内存?
  • 现在我用c语言在linux下写一个服务端程序现发现了内存泄漏问题
  • C语言中各个段都在内存的什么地址范围?
  • 浅析C语言中的内存布局
  • C语言 结构体动态数组内存释放问题
  • 笔试遇到内存操作思考题,C语言
  • C语言创建链表错误之通过指针参数申请动态内存实例分析
  • C语言中的内存泄露 怎样避免与检测
  • 在Linux上用C语言作了一个程序,程序中申请(malloc)了很大的内存,但是没free,当程序运行结束后,内存是否自动释放?
  • 怎么将这段JAVA代码换成C语言,实现同样的功能,就是查看进程内存?
  • c语言内存泄露示例解析
  • C语言内存对齐实例详解
  • 深入探讨C语言中局部变量与全局变量在内存中的存放位置
  • C语言、C++内存对齐问题详解
  • 深入理解C语言内存对齐
  • 2013年7月和2013年8月编程语言排行榜
  • 如何在GTK2.0下实现国际化(语言选择根据自己设置的语言,不用系统的语言)
  • 2017 年热门编程语言排行榜出炉,你的语言上榜没?
  • C语言中有指针,因此C语言可以创建链表,那么Java语言没有指针,那Java是否可以创建链表呢?
  • 苹果OS X和IOS下最新编程语言swift介绍
  • 求助,在linux下,c语言和汇编语言的接口是什么?
  • c语言判断某一年是否为闰年的各种实现程序代码
  • C语言中间语言 CIL
  • PHP编程语言介绍及安装测试方法
  • 最近学JSP,苦于HTML语言和JAVA语言太差,请教推荐几本书,thanks.
  • Linux下C语言strstr()查找子字符串位置函数详细介绍(strstr原型、实现及用法)


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    操作系统 iis7站长之家