zoukankan      html  css  js  c++  java
  • c 语言结构体struct的三种定义方式 及 typedef

    struct 结构体名{

      成员列表;

      .....

    }结构体变量;

    结构体类型变量的定义

    结构体类型变量的定义与其它类型的变量的定义是一样的,但由于结构体类型需要针对问题事先自行定义,所以结构体类型变量的定义形式就增加了灵活性,共计有三种形式,分别介绍如下:

    1) 先定义结构体类型,再定义结构体类型变量:
    struct stu / *定义学生结构体类型* /
    {
         char name[20]; / * 学生姓名* /
         char sex; / * 性别* /
         long num; / *学号* /
         float score[3]; / * 三科考试成绩* /
    };
    struct stu student1,student2;/ * 定义结构体类型变量* /
    struct stu student3,student4;
    用此结构体类型,可以定义更多的该结构体类型变量。

    2 ) 定义结构体类型同时定义结构体类型变量:
    struct data
    {
         int day;
         int month;
         int year;
    } time1,time2;
    也可以再定义如下变量:
    struct data time3,time4;
    用此结构体类型,同样可以定义更多的该结构体类型变量。

    3) 直接定义结构体类型变量:
    struct
    {
         char name[20]; / *学生姓名* /
         char sex; / *性别* /
         long num; / *学号* /
         float score[3]; / *三科考试成绩* /
    } person1,person2; / *定义该结构体类型变量* /
    该定义方法由于无法记录该结构体类型,所以除直接定义外,不能再定义该结构体类型变量。
     
    4)
    在C中定义一个结构体类型要用typedef:
    typedef struct Student
    {
    int a;
    }Stu;
    于是在声明变量的时候就可:Stu stu1;
    如果没有typedef就必须用struct Student stu1;来声明
    这里的Stu实际上就是struct Student的别名。
    另外这里也可以不写Student(于是也不能struct Student stu1;了)
    typedef struct
    {
    int a;
    }Stu;
     
     
    https://www.cnblogs.com/ransn/p/5132352.html
  • 相关阅读:
    C#的扩展方法解析
    C#的Process类调用第三方插件实现PDF文件转SWF文件
    DotNet程序配置文件
    C#中的委托解析
    DotNet生成随机数的一些方法
    好久没玩laravel了,今天玩下Laravel项目迁移步骤
    关于WIN7下IE8IE7浏览器无法安装微信支付商户证书的解决方案
    dedecms5.7文章页替换掉特定标志的图片链接
    原生PHP和MYSQL练习登陆验证和查询数据到表格
    我眼中的如何成为一名合格的PHP高级开发工程师
  • 原文地址:https://www.cnblogs.com/idyllcheung/p/11344389.html
Copyright © 2011-2022 走看看