c 语言结构体struct的三种定义方式 及 typedef

 

struct 结构体名{

  成员列表;post

  .....spa

}结构体变量;blog

结构体类型变量的定义

结构体类型变量的定义与其它类型的变量的定义是同样的,但因为结构体类型须要针对问题事先自行定义,因此结构体类型变量的定义形式就增长了灵活性,共计有三种形式,分别介绍以下:

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;
相关文章
相关标签/搜索