Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > C/C++ > about struct
【标  题】:about struct
【关键字】:about,struct
【来  源】:http://www.cublog.cn/u/1421/showart.php?id=180666

about struct

Your Ad Here     struct是一种复合数据类型,其构成元素既可以是基本数据类型(如int、long、float等)的变量, 也可以是一些复合数据类型(如array、struct、union等)的数据单元。对于结构体,编译器会自动进行成员变量的对齐,以提高运算效率。缺省 情况下,编译器为结构体的每个成员按其自然对界(natural alignment)条件分配空间。各个成员按照它们被声明的顺序在内存中顺序存储,第一个成员的地址和整个结构的地址相同。
  自然对界(natural alignment)即默认对齐方式,是指按结构体的成员中size最大的成员对齐。
   一般地,可以通过下面的方法来改变缺省的对界条件:
  · 使用伪指令#pragma pack (n),编译器将按照n个字节对齐;
  · 使用伪指令#pragma pack (),取消自定义字节对齐方式。
  注意:如果#pragma pack (n)中指定的n大于结构体中最大成员的size,则其不起作用,结构体仍然按照size最大的成员进行对界。
    在C++语言中struct具有了“类” 的功能,其与关键字class的区别在于struct中成员变量和函数的默认访问权限为public,而class的为private。
    C++中的struct保持了对C中struct的全面兼容,即struct可以在定义的时候直接以{ }对其成员变量赋初值,而class则不能。
   
C中的struct不可以含有成员函数,而C++中的struct可以。C++中struct定义的类型在声明变量时不必再写出struct关键字。
static和const:【上一篇】
另:一个用位操作实现加 1 的小代码:【下一篇】
【相关文章】
  • show "About"
  • Frequently Asked Questions about py2exe
  • About J2EE
  • about cygwin vs. mingw
  • About ASMi, summary from IBM support
  • articles about gdb, ELF
  • [Note][SICP] Chap01 Building Abstructions with
  • About exception of Java
  • About C++ debugging options
  • C#.NET;SQLSERVER2005;ASP.NET;C;OS;DATASTRUCTURE;ALOGHRITHM;PROJECT MANAGMENT;ARCHTECHTURE
  • 【随机文章】
  • 发一个很久以前写CMS时写的一个生成静态页面的类
  • 改进软件企业的设计能力的二点建议
  • 24口可扩展千兆2层网管交换机
  • 使用C++ Buider制作自绘画列表框
  • Linux下用ppdev界面控制PC打印机适配器的引脚电平(上)
  • 密码知识(2)
  • 内存与主板的兼容性
  • 数据结构与算法(7)— 栈的应用
  • PhotoImpact 按钮制作不求人
  • 使用PHP制作新闻系统的思路
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.