zoukankan      html  css  js  c++  java
  • 结构体 变迁

    struct

    结构体是由基本数据类型构成、并用一个标识符来命名的各种变量的组合

    格式

    struct  结构名 {
         类型 变量名;
         类型 变量名;
         ......

    }结构变量;

    结构名是结构的标识符



    结构 typedef 

    给结构体起别名



    结构数组

    结构数组本质是一个数组

    结构数组是具有同样结构类型的变量集合

    结构体成员的訪问是以数组元素为结构变量

         结构数组元素.成员名



    结构指针

    结构指针是指向结构的一个指针,即结构中第一个成员的首地址

    使用结构指针,首先应对结构指针初始化




    嵌套结构

    嵌套结构是指在一个结构成员中能够包含其他一个结构




    位字段

    位字段是一种特殊的结构,按位訪问一个字节或字的多个位

    位字段比按位运算符更加方便

    定义形式

    struct 位结构名{
         数据类型 变量名:整型常数;
         数据类型 变量名:整型常数;
         数据类型 变量名:整型常数;
         .....
    }位结构变量;

    数据类型必须是int(unsigned 或signed)

    整型常数必须是非负整数,表示二进制位的个数

    变量名是可选项,能够不命名,这样规定为了排列须要

    位段的最大取值范围不要超出二进制位数定的范围,否则超出部分会丢弃.

    tips

    一个位段必须存储在同一存储单元(即字)之中,不能跨两个单元.若其单元空间不够,则剩余空间不用,从下一个单元起存放该位段.

    能够通过定义长度为0的位段的方式使下一位段从下一存储单元開始.

    位段的长度不能大于存储单元的长度.

    位段无地址,不能对位段进行取地址运算.

    位段能够以%d、%o、%x格式输出.

    位段若出如今表达式中,将被系统自己主动转换成整数.




    越位

    所申明的总位数超过一个unsigned int大小

    不同意一个字段跨越两个unsigned int之间的边界 

    使用未命名的字段宽度填充未命名的洞

    使用宽度为0的未命名字段迫使下一个字段与下一个整数对齐





  • 相关阅读:
    SPOJ SAMER08A
    SPOJ TRAFFICN
    CS Academy Set Subtraction
    CS Academy Bad Triplet
    CF Round 432 C. Five Dimensional Points
    CF Round 432 B. Arpa and an exam about geometry
    SPOJ INVCNT
    CS Academy Palindromic Tree
    身体训练
    简单瞎搞题
  • 原文地址:https://www.cnblogs.com/yxwkf/p/4002704.html
Copyright © 2011-2022 走看看