目录
一、结构体的设计
C语言提供了基本的数据类型,例如 char 、short 、int 、float....等类型;这些称为内置类型。怎样设计出来属于自己的类型?
程序员可以使用结构体来封装一些属性,设计出新的类型,在C语言中称为结构体类型。
结构体的定义形式为:
struct 结构体名
{
成员列表(可以是基本的数据类型,指针,数组或其他结构类型)
};
举个例子:用学生类来说,
学生拥有什么?姓名、学号、年龄、成绩....
struct Student
{
char name;
char id;
char age;
int grade;
};
注意以下几点;
(1)、关键字struct是数据类型说明符,指出下面说的是结构体类型;
(2)、标识符Student是结构体的类型名;
(3)、最后的分号一定要写;结构体也是一个完整的c语言语句
二、结构体变量的初始化
结构体是一种数据类型,也就是说可以用它来定义变量。
结构体就像一个“模板”,定义出来的变量都具有相同的性质。可以将结构体比作“图纸”,结构体变量比作“零件”,根据同一张图纸生产出来的零件的特性都是一样的;
结构体是一种数据类型,是创建变量的模板,不占用内存空间;结构体变量才包含了实实在在的数据、需要存储空间;
2.1 结构体初始化
#include<stdio.h>
int main() {
struct Student { //声明结构体类型struct Student
//以下4行为结构体的成员
long int num;
char name[20];
char sex;
char addr[20];
}a = { 10101,"Li lin",'M ',"123 Beijing Road" }; //定义结构体变量a并初始化
printf("NO.:%ld\nname:%s\nsex:%c\naddress:%s\n", a.num, a.name, a.sex, a.addr);
return 0;
}
2.2 结构体指针变量
1. 结构体指针的定义方法:
1)struct 结构体名 *指针;
2)直接在定义结构体的时候添加结构体指针的声明
//在main()方法中定义
struct student *p1;//定义结构体指针
struct student
{
int num;
char name[20];
char sex;
}*p2;
2. 利用结构体指针访问结构体变量(输出)
结构体指针访问变量方法:
1)p->结构体成员;
2)(*p).结构体成员;</