广州北大青鸟计算机职业培训学校
互联网技术培训、软件技术培训、大数据培训、云计算培训、数据分析培训信息网
当前位置:网站首页 > 软件教程 > C语言/C++语言培训 > 正文

c++常用知识小结之结构体和共用体

作者:admin发布时间:2020-09-08分类:C语言/C++语言培训浏览:1813


导读:结构体和共用体:   除了在定义的时候初始化,结构体变量不可以整体赋值,在输入输出或运算的时候只能对其成员进行引用,不能作为一个整体参与运算,但是可...

结构体和共用体:

    除了在定义的时候初始化,结构体变量不可以整体赋值,在输入输出或运算的时候只能对其成员进行引用,不能作为一个整体参与运算,但是可以将一个结构体变量的值赋给另一个具有相同类型的结构体变量,即两个类型相同的结构体变量可以相互赋值。

    共用体:

   (1)共用体变量的各个成员共享同一块存储空间,所以在任一时刻只能有一个成员起作用,共用体变量中的内容是其最后一次赋值的成员成员内容;

   (2)共用体变量的地址和它的各个成员的地址都是同一地址;

   (3)共用体变量的长度是它最长的成员的长度;

   (4)不能对共用体变量名赋值,同时也不能在定义共用体变量的时候对其初始化;

   (5)不能把共用体变量作为函数的参数,但是可以使用指向共用体变量的指针。

    枚举:

   (1)枚举常量不可赋值运算;

   (2)在声明枚举类型的同时,编译程序按顺序给每个枚举常量一个对应的序号,序号从0开始,后续元素依次加1;

   (3)可以在声明时指定枚举常量的序号值,如:enum weekday{sun=9,mon=2,tue,wed,thu,fir,sat}此时,tue未指定,仍然是前一序号值加一,其值为3,wed值为4等;

   (4)只能给枚举变量赋枚举常量值,若赋序号值必须进行强制类型转换,如:day=(weekday)1;

    (5)枚举变量可以相互比较,也可以和枚举常量及整型数据进行比较,实际上比较的是其序号值;

   (6)枚举值可以按整型输出其序号值。

 

    typedef说明:

   (1)typedef只可以声明类型,但不能定义变量;

   (2)typedef只能对已经存在的类型名重新定义一个类型名,而不能创建一个新的类型名;

   (3)typedef与#define有相似之处,但二者是不同的,主要区别是:#define是编译预处理命令,只能做简单的字符替换,typedef是编译时处理的,声明一个类型替代原有的类型。


C语言/C++语言培训排行
标签列表
网站分类
文章归档
最近发表