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
  • 相关阅读:
    SQL学习
    FOR XML PATH
    IOS学习网址
    weak nonatomic strong等介绍(ios)
    UVALive3045 POJ2000 ZOJ2345 Gold Coins
    UVA713 UVALive5539 POJ1504 ZOJ2001 Adding Reversed Numbers
    UVA713 UVALive5539 POJ1504 ZOJ2001 Adding Reversed Numbers
    UVA439 POJ2243 HDU1372 ZOJ1091 Knight Moves【BFS】
    UVA439 POJ2243 HDU1372 ZOJ1091 Knight Moves【BFS】
    UVA10905 Children's Game
  • 原文地址:https://www.cnblogs.com/idyllcheung/p/11344389.html
Copyright © 2011-2022 走看看