一.结构体定义类型,变量的定义
struct是关键字,是结构体类型的标志,在结构体里可以定义相应的成员信息,同时,结构体同样要以分号结尾
struct person
{
char name[20];
char sex[20];
int age;
int weight;
};
struct person psn1,psn2;//此处是先定义结构类型,再定义变量
struct person
{
char name[20];
char sex[20];
int age;
int weight;
}psn1,psn2;//再定义结构体类型的同时定义变量
当然我们也可以用 typedef 对其进行起别名的操作,以下则date为Date的别名
typedef struct Date
{
int year;
int month;
int day;
}date;
二.结构体变量的初始化
struct person
{
char name[20];
char sex[20];
int age;
}psn={"zhangsan","男“,18};
或者
struct person
{
char name[20];
char sex[20];
int age;
};
struct person psn={"李四”,“男”,18}; //psn可以是一个数组,如psn[5]就是表示初始化5个人的信息
三.指向结构体变量的指针
#include<>
#include<>
#include<>
typedef struct person
{
char name[20];
char sex[20];
int age;
}psn;
int main()
{
psn *p;//定义一个指针p
p=(psn*)malloc(sizeof(psn));//注意要为其分配空间
char na[20];
scanf("%s",&na);
strcpy(p->name,na);
printf("%s\n",p->name);
return 0;
}
或者
int main()
{
psn stu;
psn *p;
p=&stu;//此处无需再为p分配空间,因为p已指向结构体的变量stu
=10;
printf("%d",(*p).age);
printf("%d",p->age);
printf("%d",);
return 0;
}
四.引用结构体变量的三种方法
1.<结构体变量名>.<成员名>;//
2.(*<结构体指针>).<成员名>;//(*p).age
3.(<结构体指针>-><成员名>;//p->age