如何理解这个东西呢
int a = 0; double a = 3.14
什么的大家已经玩烂了,这里的int
,double
是类型,那么结构体类型呢?它也是类型,但不同的是,他是自定义类型,也就是咱们自己定义创建的一个类型。
那么下面,就是***鹏哥演示的代码***:
struct stu
{
char name[20];
short age;
char tale[12]; //图纸
char sex[5];
}s1, s2, s3;//三个全局的结构体变量---一般不去用
这就是我们自己创建的一个类型,也是一张图纸,相当于盖房子之前的建房子图纸,图纸里面的元素叫做成员变量,是构成图纸的一部分
使用这个结构体类型:
struct stu
{
char name[20];
short age;
char tale[12]; //图纸
char sex[5];
}s1, s2, s3;//三个全局的结构体变量---一般不去用
int main()
{
struct stu s1; //盖房子
struct stu s2 = { "张三",18,"18772295171","男" };//结构体变量创建,并初始化
return 0;
}
咱们对照着图纸,盖了两栋房子s1,s2
s1虽然我们创建了,但是没有对其中的成员进行赋值
s2呢,就是创建了房子,并且将其中的元素都赋值了
输出可以让我们看到效果,看到自定义变量和c语言标准定义的变量的差别,这也就是为什么系统提供了那么多库函数还需要程序员的原因(当然这只是其中的一小方面啦)
typedef struct stu
{
char name[20];
short age;
char tele[12];
char sex[5];
}stu;//这里使用了typedey,其实就是让struct stu这个类型名取一个小名,叫做
//stu,这样就笔记方便使用啦
void print1(stu s)
{
printf("name: %s\n", s.name);//.操作符,帮助我们找到我们的成员变量
printf("age: %d\n", s.age);
printf("telephone: %s\n", s.tele);
printf("sex: %s\n", s.sex);
}