打卡学习第十三天

C 结构体

结构是 C 编程中另一种用户自定义的可用的数据类型,它允许存储不同类型的数据项,表示一条记录。

定义结构

struct 结构体标签

{
      变量定义;

      ……;

}结构变量;

tag(结构体标签)、member-list(变量定义)、variable-list(结构变量) 这 3 部分至少要出现 2 个。

三种不同的声明方式

声明结构体变量,未声明结构体标签

   struct

  {
      int a;

      char b;

      double c;

  } s1;

声明结构体标签,并声明了三个结构体变量

struct SIMPLE

 {
        int a;

       char b;

       double c;

  };

 struct SIMPLE t1, t2[20], *t3;

用typedef定义了一个新类型,可以用Simple2来定义一个新的结构体变量

  typedef struct

  {
        int a;

       char b;

      double c;

 } Simple2;

Simple2 u1, u2[20], *u3;

结构体的成员可以包含其他结构体,也可以包含指向自己结构体类型的指针。

包含其他结构体:

struct COMPLEX

{
       char string[100];

       struct SIMPLE a;

 };

包含指向自己结构体的指针:

struct NODE

{
       char string[100];

       struct NODE *next_node;

};

不完整声明

当两个结构体相互包含时,需要对其中一个结构体不完整声明

struct B;

struct A

{
      struct  B  *partner;

};

struct B

{
     struct A  *partner;

};

结构体变量的初始化

结构体变量可以在定义时指定初始值

在这里插入图片描述

访问结构成员

在这里插入图片描述

结构作为函数参数

在这里插入图片描述

指向结构的指针

例:struct Books *struct_pointer;

使用指向该结构的指针访问结构的成员

struct_pointer->title;

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值