C++ 结构简介

C++结构体定义

struct inflatable

{

  char name[20];

  float volume;

  double price;

}

C++创建结构本:

inflatable guest=

{  

  "Glorious Gloria",

  1.88,

  29.99

};

在C中是要加上struct前缀的,而C++可以省略;

访问:
   如guest.volume等;

结构体声明的位置很重要:

1,放上main()里的最开始位置;内部声明,只能被所属函数使用

2,放在main()的前面,外部声明可以被其后的任何函数使用到;

变量也是如此;C++不提倡使用外部变量,但提倡使用外部结构声明

结构体可以直接赋值给另一个:

  inlfatable choice=guest;

结构体数组:

  inflatable gifts[2]=

  {

    {"Bambi",0.5,21.99},

    {"Godzilla",2000,565.99}

  };

结构中的位字段:  冒号后使用一个数字指定了使用的位数。

  struct torgle_register

  {

     unsigned int SN: 4;

     unsigned int : 4;

     bool goodIn:  1;

     bool goodTorgle: 1;

  };

使用:

    torgle_resister str={14,true,false};

union共用体:

  是一种数据格式,能存储不同的数据类型,但只能同时存储其中的一种类型;

  union one4all

  {

    int int_val;

    long long_val;

    double double_var;

  }

  由于共用体只能存储一个值,所以其长度为最大成员的长度;

  用途:当数据作用两种或更多格式(但不会同进使用)时,可节省空间;

如小商品目录,其中有的ID为整数,有的ID为字符串;

struct widget

{

  char brand[20];

  int type;

  union id

  {

    long id_num;

    char id_char[20];

  }/*id_val*/;//匿名共用体可以直接使用,

};

widget prize;

prize.id_num;

prize.id_char;

如是非匿名体则

prize.id_val.id_num;

prize.id_val.id_char;

共用体常用于(但并非只用于)节省内存,嵌入式系统编程,如控制烤箱,MP3播放器等;

操作系统数据结构或硬件数据结构;

C++ 结构简介

时间: 2024-10-12 08:38:24

C++ 结构简介的相关文章

opencv Iplimage结构简介

IplImage 结构解读: typedef struct _IplImage{int nSize;                    /* IplImage大小 */int ID;                         /* 版本 (=0)*/int nChannels;           /* 大多数OPENCV函数支持1,2,3 或 4 个通道 */int alphaChannel; /* 被OpenCV忽略 */int depth; /* 像素的位深度: IPL_DEPT

ORACLE内存结构简介

ORACLE数据库作为世界上一款功能强大的数据库管理软件,功能体系特别庞大.我们有必要对它的每一部分学习了解,然后才从全局的角度进行有效把握.我们会着重从理论基础体系角度再逐步到实战应用.实际上,如果没有掌握基础理论体系,而直接生搬硬套一些维护技术经验,那也只是空中楼阁罢了.而如果你想直接通过一两篇文章学到什么秘籍成为维护或是DB优化高手那也是不现实的.所以这些文适合静下心来真正想了解学习ORALCE体系的读者.方法论掌握好,起码头脑中的思路方向是正确的,至于术也就是水到渠成. 我们通常所说的O

数据结构中常用树型结构简介

B树.B-树.B+树.B*树.红黑树rbtree 二叉排序树.trie树Double Array 字典查找树 B树 即二叉搜索树: 1.所有非叶子结点至多拥有两个儿子(Left和Right): 2.所有结点存储一个关键字: 3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树: 如: B树的搜索,从根结点开始,如果查询的关键字与结点的关键字相等,那么就命中:否则,如果查询关键字比结点关键字小,就进入左儿子:如果比结点关键字大,就进入右儿子:如果左儿子或右儿子的指针为空,则报

Intent 意图 结构 简介

Intent简介 官方解释: An intent is an abstract description of an operation操作 to be performed展示.表演. It can be used with startActivity to launch an Activity, broadcastIntent to send it to any interested感兴趣的 BroadcastReceiver components组件, and startService(Int

Android 工程目录结构简介

一般来说,一个Android工程的目录结构如下图所示. 1:src JAVA源代码都放在这里面. 2:gen 编译器自动生成的一些JAVA代码 3:Android 4.2 Android平台(本工程用的版本是4.2) 4:Android dependencies 该目录出现在ADT16以后的版本中,是ADT第三方库新的引用方式,当我们需要引用第三方库的时候,只需要将 该库拷贝到libs文件夹中,ADT就会自动完成对该库的引用(如本例中android-support-v4.jar) 5:bin 该

MVC结构简介

本文编译自J2EE的相关文档.MVC(Model-View-Controller)应用程序结构被用来分析分布式应用程序的特征.这种抽象结构能有助于将应用程序分割成若干逻辑部件,使程序设计变得更加容易. MVC结构提供了一种按功能对各种对象进行分割的方法(这些对象是用来维护和表现数据的),其目的是为了将各对象间的耦合程度减至最小.MVC结构本来是为了将传统的输入(input).处理(processing).输出(output)任务运用到图形化用户交互模型中而设计的.但是,将这些概念运用于基于Web

Laravel 文件夹结构简介

文件夹名称 简介 app 应用程序的业务逻辑代码存放文件夹 app/Http/Controllers 存放控制器文件 app/Http/Middleware 存放「中间件」文件 bootstrap 框架启动与自动加载设置相关的文件 config database 应用程序的配置文件 数据库操作相关的文件 gulpfile.js Gulp 配置文件 package.json 应用所需的 NPM 包 public 前端控制器和资源相关文件(图片.JavaScript.CSS) readme.md r

oracle进程结构简介

我们经常说数据库实例,实例其实就是指的是数据库的内存结构和进程结构.我们安装数据库软件大量的是在安装其内存和进程组件结构.上篇节我们介绍了oracle内存结构,这节就介绍下oracle进程结构. 首先看下oracle进程的分类: 1)用户进程 是连接到Oracle DB 的应用程序或工具 2)数据库进程 服务器进程:连接到Oracle实例,在用户建立会话时启动 后台进程:在启动Oracle实例时启动 3) 守护程序/应用程序进程 网络监听程序 Gridinfrastructure 守护程序 从进

Android Stduio常用目录结构简介

Android选项中的目录结构(常用) Manifest:AndroidManifest.xml是整个Android项目的配置文件,程序中定义的所有四大组件都需要在这个文件中注册. 还可以在这个文件中给应用程序添加权限声明,或者指定程序最低兼容版本. *安卓四大组件(活动Activity.服务Service.广播接收器Broadcast Receiver.内容提供器Content Provider) Java:java目录可以用来放置所有的java代码,其中有两个目录,上方的用来存放完整的jav