打卡:4.23 C语言篇 -(1)初识C语言 - (12)结构体

C语言篇 -(1)初识C语言 - (12)结构体

结构体

结构体是C语言中特别重要的知识点,结构体使得C语言有能力描述复杂类型。

比如描述学生,学生包含: 名字+年龄+性别+学号 这几项信息。
描述一本书,这本书包括:书名+出版社+目录+作者等信息
这些都是复杂的对象,C语言就给了自定义类型的能力
自定义类型中的有一种叫:结构体struct

结构体是把一些单一类型组合在一起的做法

例如,我们现在来描述一个人,他有名字+年龄+性别+学号 这几项信息

struct Stu
{
    char name[20];//名字
    int age;      //年龄
    char sex[5];  //性别
    char id[15]//学号
};

int main()
{

return 0;
}

我们要盖一个房子,struct Stu就是我们的图纸,创建一个结构体对象s,在里面根据图纸来填写数据

结构体的初始化

//打印结构体信息
struct Stu s = {"张三"20"男""20180101"};

可以把struct Stu当成数据类型,s就是创建用来存放数据的结构体对象s里面的数据就是成员名struct Stu不使用的时候,里面的那些类型是不会开辟空间的

打印

//.为结构成员访问操作符
printf("name = %s age = %d sex = %s id = %s\n", s.name, s.age, s.sex, s.id);

要打印s里面的信息,要按照类型的顺序来打印,"张三", 20, "男", "20180101"对应的%s,%d,%s,%s,顺序是不能颠倒的,且要按照结构体对象.成员名 的形式

还有一个打印的方法

//
struct Stu *ps = &s;
printf("name = %s age = %d sex = %s id = %s\n", (*ps).name, (*ps).age, (*ps).sex, (*ps).id);

ps是结构体指针变量,这里就是指针那里的方法,不过有点麻烦,可以直接用->操作符

struct Stu *ps = &s;
printf("name = %s age = %d sex = %s id = %s\n", ps->name, ps->age, ps->sex, ps-
>id);

ps->name的意思就是ps指向s中的成员name,和(*ps).name的意思一样

  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小奔同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值