C语言入门篇--初识结构体
目录
- 1.为什么要有结构体
- 2.结构体的定义
- 2.1结构体类型的定义
- 2.2定义结构体普通变量及访问
- 2.3定义结构体指针变量及访问
1.为什么要有结构体 (1)之前int、char等类型描述的结构体非常单一,只可描述一种类型。
(2)数组也是描述同一类型的集合,只可描述一种类型。
(3)而结构体使得C语言可以描述复杂类型,比如学生类型( 包含学生的名字、年龄、性别、电话号等信息)。
结构体和数组的区别:
结构体:用来描述相同/不同数据元素类型的集合。
数组:用来描述具有相同数据元素类型的集合。
2.结构体的定义
2.1结构体类型的定义
格式:
struct Stu//结构体类型名字为struct Stu(struct Stu类似于int){//结构体内容 char Name[20]; int Age; char Sex[5]; char Tel[12]; }; //记着加;
注意:
(1)结构体类型的定义是在main函数外部。
(2)此处指定义了一个结构体类型,还未定义对应结构类型的变量,所以还未在内存中开辟空间。
2.2定义结构体普通变量及访问
struct Stu Tom = { “Tom”, 13, “男”, “11122546698” };
//定义结构体普通变量并初始化,变量名为Tom,用变量名访问结构体。
#include struct Stu{ char Name[20]; //名字 int Age; //年龄 char Sex[5]; //性别 char Tel[12]; //电话号}; int main(){ struct Stu Tom = { "Tom", 13, "男", "11122546698" }; printf("%s,%d,%s,%s\n", Tom.Name, Tom.Age, Tom.Sex, Tom.Tel); //用变量名和结构成员运算符(.)访问结构体。 return 0; }
文章图片
2.3定义结构体指针变量及访问
struct Stu *s = &Tom;
//定义结构体指针变量,s指向Tom,有如下两种访问方式。
#include struct Stu{ char Name[20]; //名字 int Age; //年龄 char Sex[5]; //性别 char Tel[12]; //电话号}; int main(){ struct Stu Tom = { "Tom", 13, "男", "11122546698" }; struct Stu *s = &Tom; //用结构体指针运算符->访问(常用访问方式) printf("%s,%d,%s,%s\n", s->Name, s->Age, s->Sex, s->Tel); //s为指针变量,*s对指针解引用,代表指针所指向的内容。 //而且用指针和结构成员运算符(.)访问结构体时,由于结构成员运算符(.)比指针引用运算符(*)的优先级高,必须代括号。 printf("%s,%d,%s,%s\n", (*s).Name, (*s).Age, (*s).Sex, (*s).Tel); return 0; }
文章图片
【C语言入门篇--初识结构体】 以上就是C语言入门篇--理解结构体的详细内容,更多关于C语言结构体的资料请关注脚本之家其它相关文章!
推荐阅读
- 2018年11月19日|2018年11月19日 星期一 亲子日记第144篇
- 《魔法科高中的劣等生》第26卷(Invasion篇)发售
- 拍照一年啦,如果你想了解我,那就请先看看这篇文章
- 【生信技能树】R语言练习题|【生信技能树】R语言练习题 - 中级
- 亲子日记第186篇,2018、7、26、星期四、晴
- 一起来学习C语言的字符串转换函数
- C语言字符函数中的isalnum()和iscntrl()你都知道吗
- C语言浮点函数中的modf和fmod详解
- C语言中的时间函数clock()和time()你都了解吗
- 漫画初学者如何学习漫画背景的透视画法(这篇教程请收藏好了!)