- 联系电话 - - 来校路线 - 广州天河区五山路金华园区3楼307(华工南门)
您现在的位置: 计算机培训 >> 培训教程 >> C语言 >> 正文
c++常用知识小结之结构体和共用体 作者:计算机培…    教程来源:广州计算机培训    点击数:    更新时间:2010-12-2

    结构体和共用体:

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

    共用体:

   (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是编译时处理的,声明一个类型替代原有的类型。

学校路线 |网站地图| 学校优势 Copyright 2006-2016 All Rights Reserved 广州青大教育信息咨询有限公司 版权所有备案/许可证编号为粤ICP备11070650号-9 北大青鸟北京总部:北京阿博泰克北大青鸟信息技术有限公司广州计算机学校培训网 官方网址:www.itjspx.com 公司地址:广州市天河区五山路华南理工大学科技园金华园区3楼307(华工南门)