C语言数据类型——结构类型

构造类型:

    1、结构型(struct)

      A声明格式为:

                      struct    结构名 {

                              数据类型1     成员名1;

                              数据类型2     成员名2;  

                               、、、、、

                              数据类型n     成员名n;  
                       }a;             这个分号,是必须要的!!

               "  a  " 为结构体变量名;

             "  {  } "中的称为 " 成员变量 " ;

              "  struct   结构名  " 为结构体类型名;

               结构体类型名   相当于   基本数据类型;

               结构体变量名    相当于   基本数据变量。

       B 、 访问结构体变量的成员

                     访问成员格式:结构体变量名.成员名     "  .  "是成员选择运算符!!

                    若要为字符串赋值汉字,可在结构体变量名后加“  = {  }  ”,花括号中间便可以赋值汉字,汉字由双引号括起来,值与值之间用“,”隔开。

                           eg:a={ " 张三 ",16 }

      C 、内存

                    结构体变量所占内存长度一般等于各成员占的内存长度之和

     eg:

        #include <stdio.h>                  //共用体
        struct people{
            char name[20];
            char gender[10];//性别
            char address[100];//住址
            int age;
            float salary;//工资
        }z={"朝曦","女","太阳系地球南端" };
        int main(void){
            z.gender[10];
            z.address[100];
            z.name[20];
            z.age=20;
            z.salary=200.56;
            printf("姓名:%s\n",z.name);
            printf("性别:%s\n",z.gender);
            printf("年龄:%d岁\n",z.age);
            printf("住址:%s\n",z.address);
            printf("工资:%0.2f元",z.salary);
            printf("\n\n");
            return 0;
        }


    2、联合型(union)

        A 、语法形式:

                    union   共用体名{

                            数据类型      成员名;

                            数据类型      成员名;  

                                、、、、、

                    }   共用体变量名;

        B、联合体又名“共用体”

                共用体变量所占的内存长度等于最长的成员的长度;

        C、特点:

                     同一内存段可以用来存放几种类型不同的成员,但是某一时刻只能存放其中一种。也就是,在某一瞬时只有一个成员起作用。

                     共用体变量中起作用的是左后一个存放的成员,在存放一个新成员后,原有的成员就失去了作用。

                     共用体变量地址和成员地址都是同一地址。

                    不同对共用体变量赋值,也不能在定义共用体变量时对其初始化。

    3、枚举型(enum)

            A 、语法形式:

                        enum  枚举名{

                                    标识符 [ = 整型常数 ] ,

                                    标识符 [ = 整型常数 ] ,

                                       、、、、

                                   标识符 [ = 整型常数 ] ,

                        };

                     C语言编译器将枚举元素当作是整型常量来处理,当遇到枚举元素列表时,编译器把其中第一个元素赋值为0,第二、第三、、、个依次赋值为1,2、、、。

                      如果枚举元素没有初始化,即省掉 ” =整型常数“ 时,则从第一个标识符开始,顺次赋给标识符0,1,2、、。当某成员赋值后,其后成员按依次加1的规则确定值。

         B、注意:

                枚举中每成员(标识符)结束符是 " , " ,不是 ";",最后一个成员可省略逗号。

                初始化时可赋负数,以后的枚举元素依次加 1 。


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值