结构体的创建
结构体使得c语言有能力描述复杂对象
假如我们要描述一个学生,学生有学号,姓名,性别,年龄
struct Stu//struct为结构体关键字,Stu为结构体的名字
{
char id[20];//学号-字符串
char namr[10];//名字-字符串
char sex[5];//性别-字符串
int age;//年龄-整数
};
void print(stuct Stu*ps)
{
printf("%s %s %s %d\n",(*ps).id,(*ps).name,(*ps).sex,(*ps).age);
}
int main()
{
struct Stu s1 = {"214191122","小明","男",18};
printf("%s %s %s %d\n",s1.id,s1.name,s1.sex,s1.age);//.结构体操作符
print(&1)
return 0;
}
结构体的使用
->操作符用法
->结构体指针->成员变量名
#include <stdio.h>
struct stu
{
char name[20];//成员变量
int age;
double score;
};
int main()
{
struct stu s = { "tqm",20,99.9 };//结构体的创建和初始化
printf("1:%s %d %lf",s.name, s.age, s.score);//结构体变量
struct stu* ps =&s;
printf("2:%s %d %lf",(*ps).age,(*ps).age,(*ps).score);
printf("3:%s %d %lf",ps->name, ps->age, ps->score);
return 0;
}
输入内容在结构体里面
scanf("%s %s %s %d",s1.id,s1.name,s1.sex,&(s1.age))//age是整型,需要&,其他是数组,数组本身就是首元素地址,所以不需要取地址