c语言基础篇:结构体(初阶)

目录

  • 一、结构体的声明
    • 1.结构的基础知识
    • 2.结构的声明
    • 3.结构成员的类型
    • 4.结构体变量的创建和初始化
  • 二、结构体成员的访问
    • 1.结构体变量访问结构体成员
    • 2.结构体指针访问结构体成员
  • 三、结构体传参

一、结构体的声明

1.结构的基础知识

结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。
结构是一种集合。结构种的每个成员可以是不同类型。

数组是一组相同类型元素的集合,放在数组中的所有元素类型是相同的。

2.结构的声明

struct tag//(结构体标签)
{
	//(成员列表)
	//(类型名 成员变量名)
	member-list;
}variable-list;//(结构体变量列表)

例如:

typedef struct Stu
{ 
	char name[20];//名字
	int age;//年龄
 	char sex[5];//性别
	char id[20];//学号
}Stu;//分号不能丢

struct: 结构体关键字,它表明是个结构体,结构体的声明必须有struct。
结构体标签: 它是你给你的结构体类型取名字
struct 结构体标签: 这表示一个结构体类型
成员列表: 可以有多个成员,每个成员有各自的数据类型和成员变量名。
结构体变量列表: 可以有多个变量,是使用结构体类型创建的变量,一般结构体变量列表省略不写,先进行结构体声明,之后再创建结构体变量。

3.结构成员的类型

结构的成员可以是标量、数组、指针,甚至是其他结构体。

c语言基础篇:结构体(初阶)_第1张图片

4.结构体变量的创建和初始化

结构体变量的创建:

c语言基础篇:结构体(初阶)_第2张图片

类型不占内存,只有用类型创建变量后才占用内存。

c语言基础篇:结构体(初阶)_第3张图片
结构体变量的初始化:
初始化: 创建变量的同时给变量赋值

c语言基础篇:结构体(初阶)_第4张图片

二、结构体成员的访问

结构体变量 . 结构体成员变量
结构体指针 -> 结构体成员变量

1.结构体变量访问结构体成员

结构体变量通过点操作符(.)访问结构体成员
c语言基础篇:结构体(初阶)_第5张图片

2.结构体指针访问结构体成员

结构体指针通过操作符(->)访问结构体成员。

c语言基础篇:结构体(初阶)_第6张图片

三、结构体传参

结构体传参的时候,要传结构体的地址。

如果传的是结构体变量,形参是实参的一份临时拷贝,会造成大量内存空间的浪费。

如果传的是结构体的地址,形参接收到的是个指针,形参部分只要开辟一个指针变量的大小的内存空间,只需要4个字节或8个字节,减少空间的浪费。

你可能感兴趣的:(【从0到1,漫游c语言的世界】,c语言)