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;
     
  • 相关阅读:
    【JZOJ4244】yi【贪心】
    【JZOJ4244】yi【贪心】
    基本赋值运算符
    自增自减运算符
    字符串的+操作
    算术运算符
    数据类型转换
    键盘输入使用
    基本数据类型长度
    变量
  • 原文地址:https://www.cnblogs.com/ransn/p/5132352.html
Copyright © 2011-2022 走看看