sch_l的个人空间 https://bbs.21ic.com/?72002 [收藏] [复制] [RSS]

日志

结构体定义的几种方式

已有 6674 次阅读2020-8-28 08:26 |个人分类:学习记录|系统分类:单片机| 结构体定义

共计有三种形式,分别介绍如下:

1) 先定义结构体类型,再定义结构体类型变量:

定义学生结构体类型

  1. struct stu
  2. {
  3.      char name[20];   //学生姓名
  4.      char sex;        //性别
  5.      long num;        //学号
  6.      float score[3];  //三科考试成绩
  7. };

使用: 定义结构体类型变量

struct stu student1,student2;

用此结构体类型,可以定义更多的该结构体类型变量。

2 ) 定义结构体类型同时定义结构体类型变量:
  1. struct data
  2. {
  3.      int day;
  4.      int month;
  5.      int year;
  6. } time1,time2;

也可以再定义如下变量:

struct data time3,time4;

用此结构体类型,同样可以定义更多的该结构体类型变量。

3) 直接定义结构体类型变量:
  1. struct
  2. {
  3.      char name[20];  //学生姓名
  4.      char sex;       //性别
  5.      long num;       //学号
  6.      float score[3]; //三科考试成绩
  7. } person1,person2;   //定义该结构体类型变量

该定义方法由于无法记录该结构体类型,所以除直接定义外,不能再定义该结构体类型变量。 
一般不用这种,很局限

4)定义一个结构体类型用typedef:
  1. typedef struct Student
  2. {
  3.     int a;
  4. }Stu;

声明结构体变量:

Stu stu1;

如果没有typedef就必须用 struct Student stu1; 来声明 
这里的Stu实际上就是struct Student的别名。

最后也可以用: 
另外这里也可以不写Student(于是也不能struct Student stu1;了)

  1. typedef struct
  2. {
  3.     int a;
  4. }Stu;

使用:

Stu stu1;

通常用这种最简单好用。-----------原文:https://blog.csdn.net/mengxiangjia_linxi/article/details/78168461 


max = (a>b) ? a : b; // 取变量a, b中较大的一个,并赋值给变量max




路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)