今日计划
学习库函数
档案整理
1.打印dang服时长表
2.写一篇思想汇报
3.结构体知识点总结(惊觉自己c语言学得太垃圾了)
笔记
!结构体知识点总结
a. 结构体类型定义
b.结构体类型变量
1.先定义结构体类型,再定义结构体变量
struct date
{
int day;
int month;
int year;
};
struct student
{
int num;
char name[20];
char sex;
struct date birthday;
float score;
char addr[40];
};
struct student student1,student2;
为了使用方便,人们通常用一个符号常量来代表一个结构体类型。在程序开头,加上命令:
#define STU struct student
STU
{
int num;
char name[20];
float score;
int age;
char addr[40];
}
然后就可以直接用STU定义结构体变量
STU student1,student2;
2.在定义结构体类型的同时定义结构体变量
形式:
struct 结构体名
{
成员表列;
}变量名表列;
如:
struct student
{
int age;
float score;
int num;
char addr[40];
char name[20];
}student1,student2;
3.直接定义结构体类型
c.结构体变量的引用
结构体变量名.成员名
如 student1.name
struct
{
int age;
int num;
char name[20];
char addr[40];
float score;
}student1,student2;
d. 结构体类型指针
定义:结构体在内存中占有一段连续内存的空间,可以指定一个指针指向该结构体,指针的值为所指向的结构体变量的首地址。
1.指向结构体的指针
struct 结构体名 *指针变量名
例如:struct stu *pd,date1
其中,struct stu是结构体类型,*pd是指针变量,date1是结构体变量
(巧记:人:结构体类型,你我他:结构体变量,戒尺:指针变量)
- 结构体变量要先赋值后使用—pd=&date1,使指针指向结构体变量date1
- 结构体指针变量访问结构体变量成员,指针变量->结构体成员名 or (*指针变量).结构体成员名
2.指向结构体数组的指针
小tip
- &是取址符号,&后加结构体变量的意思是取该结构体变量的首地址。
- typedef是用来定义各种类型的一个工具
- typedef int INTEGER
INTEGER就可以作为类型名来定义变量了 - 定义一个类型名代表一个结构体类型
typedef struct
{
long num;
char name[20];
float score;
}STUDENT;
so STUDENT就可以作为一个结构体类型来定义其他结构体变量