300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > C语言——结构体struct与typedef的使用

C语言——结构体struct与typedef的使用

时间:2020-12-18 19:40:34

相关推荐

C语言——结构体struct与typedef的使用

我们常常在某些C语言代码中看到有时候typedef关键字和struct一起连用定义结构体,有时候只用struct关键字直接定义结构体,在此记录两者的一些用法,给自己做一个笔记,希望对大家也有所帮助。如果有些地方不对,请大家指正。

结构体

c语言中,数组是一组相同类型数据的集合,而结构体可以完成对不同数据的封装,可以是不同数据类型的集合。

简单来说,结构体就是不同类型数据或者相同类型数据的集合。

使用结构体例子:

1. 衣服信息:衣服尺寸,颜色,修长,衣长........

2. 苹果的信息:颜色,大小,是否合格...

不同结构体定义形式以及使用

对于所有形式的结构体定义,都要遵循两个最基本的原则:

1. 定义结构体之后一定要以分号结束

2. 结构体中不能定义函数

形式一:

//最基本形式struct Student{int number; //学号int age;bool gender; //性别,1女,0男};//单独定义结构体变量struct Student stu1,stu2={2,3,1};

定义说明:

1. struct是数据类型说明符,指出下面定义的是结构体类型

2. Student是该结构体名称

3. number,age,gender是结构体Student包含的信息,可是相同类型,也可是不同类型

使用说明:

对于该种结构体定义,在声明结构体变量时,一定要是struct Student,不能只能使用Student

形式二:

//在定义结构体变量的同时就进行变量声明struct Student{int age;int number;bool gender;}stu1,stu2={1,2,0};

形式三:

//不定义结构体名称,在定义结构体时直接声明结构体变量struct {int number;int age;bool gender;}stu1,stu2;

说明:该种方法并没有定义结构体名称,不能再在后续代码中声明该结构体变量,因此只能存在stu1,stu2两个结构体变量

形式四:

typedef struct{int number;int age; }Stu;int main(){Stu stu1={1,2};printf("学号是%d\n",stu1.number);printf("年龄是%d\n",stu1.age);}

说明:

这里也没有定义结构体名称,但是通过使用typedef关键字对该未命名的结构体设置别名,因此可以使用该别名进行结构体变量声明

形式五:

//使用typedef加上struct定义结构体typedef struct Student{int number;int age;bool gender;}Stu;//声明结构体变量Stu stu1,stu2;

说明:

1. typedef 用来为复杂的声明定义简单的别名,即具有数据类型重命名的作用,这里将struct Student,即结构体Student定义 一个Stu别名,后续可以使用Stu代替struct Student进行变量声明

2. 如果没有typedef关键字,后续声明变量必须使用struct Student进行声明。

另外,结构体定义中也可以进行结构体嵌套定义。

结构体变量中各个数据的使用

结构体变量.结构体中的数据项名称

struct Student stu={1,2,0};printf("%d/n",stu.number);

可供参考的博文:

结构体(struct)_编程芝士的博客-CSDN博客_struct

(18条消息) C语言——结构体(全)_小小圆脸的博客-CSDN博客_结构体c语言

(18条消息) C 结构体 struct 详解_zhanghow的博客-CSDN博客_c结构体

(18条消息) C语言之玩转结构体1——结构体定义与声明_静晨66的博客-CSDN博客_c语言 结构体声明

如有错误之处,希望大家指正。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。