c++结构体的定义(C语言)

结构体的定义 (c语言 c++)

本文主要针对结构体的定义方式做了区分,结构体的其他功能,本文并没有体现

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

结构体的定义与结构体变量的定义分开进行

struct Student        //结构体类型的定义
{
	string name;
	string class;
	double score;
};
struct Student Stu;  //结构体变量的定义
//只能用  struct Student Stu; 来定义变量,Stu是一个结构体变量
//Stu类似于 int a=10 中a的地位,是变量

2 定义结构体类型的同时定义结构体变量

Stu1 是结构体变量,与1中的Stu是一样的

还可以继续定义struct Student Stu2;

Stu2也是结构体变量,与Stu1同地位
Stu1与Stu2都是结构体变量,类似于 int a 中 a 的地位

struct Student
{
	string name;
	string class;
	double score;
}Stu1;
 struct Student Stu2;
//Stu1 是结构体变量,与1中的Stu是一样的
//还可以继续定义struct Student Stu2;Stu2也是结构体变量,与Stu1同地位
//Stu1与Stu2都是结构体变量,类似于int a;中a的地位

3 不指定类型名而直接定义结构体变量

一般不使用这种方法,因为直接定义结构体变量stu1、stu2之后,就不能再继续定义该类型的变量。

相当于一次性玩偶,后续不能在继续定义结构体变量

struct
{
    char no[20];        //学号
    char name[20];      //姓名
    char sex[5];      //性别
    int age;          //年龄
} stu1,stu2;   
//这里的stu1和stu2都是结构体变量,相当于int a;中的a
//不建议这样使用,因为后续不能再继续定义结构体变量

4 加typedef后

重定义结构体,这里使用了typedef关键字,此关键字的作用就是声明数据类型的别名,所以类型为struct Student,别名为Stu。
这种方式在声明结构体变量时有两种方式
方式一:struct Student stu;
方式二:Stu stu1;//以结构体别名声明一个结构变量,此处可以省略关键字struct

这两种定义方式完全等价,只不过一个用的本名,一个用的别名

typedef struct stdudent
 
{
       char name[20];
       int age;
}Stu;
  Stu stu3;

//Stu是一个数据类型,类似于 int,char,可以用来定义变量
//如Stu s1;s1在这里是结构体变量=>等价于struct stdudent s1
//Stu是struct stdudent的别名,两者等价
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

海风许愿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值