一、结构体
作用:存储不同数据类型
结构体关键字:struct
1、普通结构体
struct xx
{
int a;
char b;
float c;
double d;
}x1,x2,x3;
使用“.”调用结构体中的成员进行赋值等等操作。
注意:char a,不可以输入字符串,只能输入单个字符;如果定义结构体成员为char arr[ n ];,由于调用的是arr字符串数组名,不可能通过赋值改变数组名,即不可以通过调用结构体成员进行赋值字符串,如果要赋值字符串就定义为一个char*类型的结构体成员,或者使用strcpy来进行赋值操作。
2、结构体指针
struct xx
{
int a;
char b;
float c;
double d;
};
struct xx * x1;
结构体指针需要分配一块内存;
即:
x1=(struct xx*)malloc(sizeof(struct xx*))
申请内存之后一定要释放内存,即free(x1);
结构体指针调用成员变量要用->,即x1->a;如果多个,(x1+i)->a;
3、结构体数组
格式:struct 结构体名 结构体数组
struct student stu[n];
使用:stu[n].a;
定义结构体指针指向结构体数组:
struct student *p=stu;
使用:
(*(p+i)).a==stu[n].a;
(p+i)->a;