结构体定义的几种方式

--------------------- 
作者:mengxiangjia_linxi 
来源:CSDN 
原文:https://blog.csdn.net/mengxiangjia_linxi/article/details/78168461 
版权声明:本文为博主原创文章,转载请附上博文链接!

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

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

定义学生结构体类型

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

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

struct stu student1,student2;

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

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)定义一个结构体类型用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;

使用:

Stu stu1;

通常用这种最简单好用。

  • 8
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值