一些复杂对象,比如人:名字+年龄+性别+地址+电话,书:书名+作者+出版社+定价+书号。
C语言可以自定义类型,自定义类型有一种叫:结构体struct
结构体是把一些单一类型组合在一起的做饭。
#include <stdio.h>
//学生
struct Stu{
//成员变量
char name[20];
int age;
char sex[10];
char tele[12];
};
int main()
{
struct Stu s = {"lisi",18,"nan","15871246688"};
printf("%s %d %s %s\n",s.name,s.age,s.sex,s.tele);
return 0;
}
结果如图:
结构体就相当于图纸,然后根据这个图纸创造具体的对象,初始化相当于确定细节。
#include <stdio.h>
//学生
struct Stu{
//成员变量
char name[20];
int age;
char sex[10];
char tele[12];
};
void print(struct Stu * ps){
//结构体指针变量解引用得到结构体对象,结构体对象.成员变量名
printf("%s %d %s %s\n",(*ps).name,(*ps).age,(*ps).sex,(*ps).tele);
//结构体指针变量->成员变量名
printf("%s %d %s %s\n",ps->name,ps->age,ps->sex,ps->tele);
}
int main()
{
struct Stu s = {"lisi",18,"nan","15871246688"};
结构体对象.成员变量名
//printf("%s %d %s %s\n",s.name,s.age,s.sex,s.tele);
print(&s);
system("pause");
return 0;
}
print函数的两种打印方式都能够成功打印