/ 结构体

  / 声明结构体类型的一般形式:

    struct 结构体名[--表示的是这个结构体的类型]

    {

        成员列表

    }; [不要漏掉这个";"]

  / 声明结构可以放在main函数内,也可以放在main函数外

  

  / 定义结构体变量的一般形式:

    struct 结构体名 结构体变量名;

    如:struct Product product1;

  / 声明结构体的同时定义结构体变量(可以是多个)

   如:

    struct Product

    {

      char name[10];

      char color[10];

      int price;

    }product1,product2;

  / 引用结构体变量

    / 不能将结构体变量作为一个整体进行输入输出

    / 对结构体变量进行赋值、存储或运算,实质上就是对结构体成员的操作

    / 引用的一般形式:

      结构体变量.结构体成员

      如:product1.name="icecream";

        product2.price=20;

        [相当于,product1.name才是真正的变量]

  / 结构体类型的初始化

    如:

    (1) struct Student

      {

        char name[10];

        char sex[10];

        int grade;

      }student1={"HanXue","W",3};

    (2) struct Student student2={"WangJie","M",4};

  / 结构体数组

    / 一般形式

      struct Student

      {

        char name[10];

        char sex[10];

        int grade;

      }sudent[5];

    / 数组中的各数据在内存中的存储是连续的

  / 指向结构体变量的结构体指针

    / 结构体指针指向结构体变量的起始地址

    / 一般形式

      struct 结构体类型 *指针名;

      如:strcut Student *pStruct;

  / 引用

    / 使用 . 运算符引用结构成员

      如:(*pStrcut).name="HanXue";  [括号不能省略,因为"."的运算优先级最高]

    / 使用指向运算符引用结构成员:pStruct -> 成员名

      如:pStruct -> name = "HanXue";

/ 共用体

  / 共用体也称联合,它使几种不同类型的变量存放到同一段内存单元中,所以共用体在同一时刻只能有一个值,它属于某一数据成员

  / 由于所有成员处于同一块内存,因此共用体的大小就等于最大成员的大小

  / 共用体的一般形式

    union 共用体名

    {

      成员列表

    }变量列表;

  

  / 共用体与结构体的区别

    / 共用体定义了一块为所有数据成员共享的内存

    / 结构体定义了一个由多个数据成员组成的特殊类型,结构体变量的大小是所有数据成员的总和

    / 声明、定义、引用等和结构体类似

      / 对共用体变量进行初始化时,只需要一个初始化值,其类型必须和共用体的第一个成员的类型相同

      / 如果第一个成员是一个结构体类型,则初始化值中可以包含多个由于初始化该结构的表达式

      / 同一内存段可以存放集中不同类型的成员,但是每一次只能存放其中一种类型,而不是同时存放所有的类型;

      / 也就是说,在共用体中,同一时间只能有一个成员起作用

  / 枚举类型

    / 枚举变量的定义

      enum 枚举变量名(枚举常量);

    / 一个枚举变量包括一组相关的标识符,其中每个标识符都对应一个整数值,称为枚举常量;枚举常量的标识符默认从0开始依次叠加

C_Learning(3)的更多相关文章

  1. C_Learning(2)

    /指针 /指针变量指向一个变量的地址 /给指针变量赋的值只能是地址 /指针变量的赋值 /{ int a; int *p; p=&a; } or { int a; int *p=&a; ...

  2. Angular2入门系列教程7-HTTP(一)-使用Angular2自带的http进行网络请求

    上一篇:Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数 感觉这篇不是很好写,因为涉及到网络请求,如果采用真实的网络请求,这个例子大家拿到手估计还要自己写一个web ...

  3. Angular2学习笔记(1)

    Angular2学习笔记(1) 1. 写在前面 之前基于Electron写过一个Markdown编辑器.就其功能而言,主要功能已经实现,一些小的不影响使用的功能由于时间关系还没有完成:但就代码而言,之 ...

  4. ASP.NET Core 之 Identity 入门(一)

    前言 在 ASP.NET Core 中,仍然沿用了 ASP.NET里面的 Identity 组件库,负责对用户的身份进行认证,总体来说的话,没有MVC 5 里面那么复杂,因为在MVC 5里面引入了OW ...

  5. ABP入门系列(1)——学习Abp框架之实操演练

    作为.Net工地搬砖长工一名,一直致力于挖坑(Bug)填坑(Debug),但技术却不见长进.也曾热情于新技术的学习,憧憬过成为技术大拿.从前端到后端,从bootstrap到javascript,从py ...

  6. Online Judge(OJ)搭建(第一版)

    搭建 OJ 需要的知识(重要性排序): Java SE(Basic Knowledge, String, FileWriter, JavaCompiler, URLClassLoader, Secur ...

  7. 如何一步一步用DDD设计一个电商网站(九)—— 小心陷入值对象持久化的坑

    阅读目录 前言 场景1的思考 场景2的思考 避坑方式 实践 结语 一.前言 在上一篇中(如何一步一步用DDD设计一个电商网站(八)—— 会员价的集成),有一行注释的代码: public interfa ...

  8. 如何一步一步用DDD设计一个电商网站(八)—— 会员价的集成

    阅读目录 前言 建模 实现 结语 一.前言 前面几篇已经实现了一个基本的购买+售价计算的过程,这次再让售价丰满一些,增加一个会员价的概念.会员价在现在的主流电商中,是一个不大常见的模式,其带来的问题是 ...

  9. 【.net 深呼吸】细说CodeDom(5):类型成员

    前文中,老周已经厚着脸皮介绍了类型的声明,类型里面包含的自然就是类型成员了,故,顺着这个思路,今天咱们就了解一下如何向类型添加成员. 咱们都知道,常见的类型成员,比如字段.属性.方法.事件.表示代码成 ...

随机推荐

  1. JNUOJ 1187 - 哨兵

    Time Limit: 10000ms Memory Limit: 262154KB 64-bit integer IO format: %lld      Java class name: Main ...

  2. Oracle体系结构之oracle密码文件管理

    密码文件 密码文件作用: 密码文件用于dba用户的登录认证. dba用户:具备sysdba和sysoper权限的用户,即oracle的sys和system用户. 本地登录: 1)操作系统认证: [or ...

  3. Python 字典 dict() 函数

    描述 Python 字典 dict() 函数用于创建一个新的字典,用法与 Pyhon 字典 update() 方法相似. 语法 dict() 函数函数语法: dict(key/value) 参数说明: ...

  4. PHP使用 zip 扩展压缩文件

    在公司遇到一个问题,是使用zip打包用户的上传文件,提供集体下载. -- 第一个想法就是使用exec在Linux进行打包.但是...exec方法吧,你懂得,我不太愿意使用这个函数. -- 于是上网查找 ...

  5. Linux连接字符串

    https://blog.csdn.net/ysdaniel/article/details/6920866 或者 '/g' in.txt>out.txt

  6. Borg Maze---poj3026最小生成树+bfs

    题目链接:http://poj.org/problem?id=3026 题意:可以理解为给你一个地图上面有S和A的表示一个一个的点,#表示墙,所以需要我们用bfs来计算各点之间的距离: b[i][j] ...

  7. hbuilder 打包app简易教程

    1. 新建app 2. 新建弹窗面板中选择MUi登录模版 ps:在弹出的窗口,填入应用名称,根据需求选择项目位置,以及模板内容. 3. 检验app效果 菜单栏 -> 运行 -> 手机运行 ...

  8. Win10系统 Eclipse 下'Publishing to Tomcat'has encountered a problem解决办法

    首先贴出来错误: 详情为:Publishing failedCould not publish to the server.There were issues during deployment to ...

  9. qt——c++环境下qt编程,类的声明与构造

    在c++中创建项目时,会生成以项目名字命名的QMainWindow,以及相应的头文件和CPP文件,作为主要窗口: 在项目中继续生成qt类时,比如类的名称是test,会自动生成一个test.h的头文件, ...

  10. php页面获取数据库中的数据

    <!DOCTYPE HTML><html>    <head>        <meta charset="utf-8" />   ...