飞翔灬吾爱的Blog
C | 结构体定义
2018-8-14 fishyoung

话说C语言是很多语言学习的基础,理解并掌握好了C语言的一些语法规则,对于以后学习或者说自学其他语言,可以节省不少的时间。下面我们就来了解C语言程序当中的结构体知识点。

结构体的定义形式如下:

struct 结构体名

{

  结构体成员

};

结构体变量的定义方式有三种:


1、先定义结构体,再定义变量:

eg.

struct student{
        char name[10];
        int stu_num;
        int age;  
};                                      //注意后面的;(分号)不能省略掉,切记切记!!!
struct student s1,s2;       //声明变量s1和s2为student结构体类型


2、定义结构体的同时定义变量:

eg.

struct student{
        char name[10];
        int stu_num;
        int age;  
}s1,s2;

在定义结构体student的同时定义了结构体变量s1,s2


3、只定义结构体变量

eg.

struct{
       char name[10];
       int stu_num;
       int age;  
}s1,s2;

在这种情况下,如果还想定义一个变量s3,那么要使用和定义s1、s2一样的方法。

 

将typedef(typedef声明类型,声明一个新的类型名来代替已有的类型)和结构体结合,比如说:

typedef struct_stu{
       char name[10];
       int stu_num;
       int age;  
}student;

这个时候student就不是一个变量了,它是结构体struct _stu的别名,如果想定义一个变量,就可以直接使用student,例如:

student  s1;

而不需要struct_stu  s1;

另外还可以定义结构体指针类型:

typedef struct_stu{
       char name[10];
       int stu_num;
       int age;  
} *student;

这个时候student s1;定义的变量就是一个结构体指针s1了。等价于struct _stu  *s1