结构体 struct

先看看结构体是什么:
在这里插入图片描述
首先大致为这三种声明,point是结构名字,p1 、p2是结构变量。

结构体 struct

在这里插入图片描述

  • 声明: struct 结构体名字 { 成员 }; (在函数外内都行,常在外)
  • 结构变量:struct date today; (today为结构变量,date是结构体名字,两者完全不同)
  • 结构体里用 .运算符+名字访问其成员 (.运算符取成员)
  • 输出则是变量名.成员名 printf(“Today’s day is %i-%i-%i.\n”, today.month, today.day, today.year); %i指定整数 .
声明结构类型

在这里插入图片描述

这是最常见的声明形式,它只是单单人为定义了一个新的结构类型,结构类型不参与运算,没有实体,相当int、double这种单单只是类型名字。
month、day、year是结构体里的成员

结构的初始化

在这里插入图片描述

  • today才是参与运算的变量
  • 第一种是按成员顺序依次赋值
  • .运算符是取成员,在第二种里就是让 thismonth 里的month=4,day=30
结构运算

在这里插入图片描述
与数组不同结构体变量可以直接互相赋值(数组必须通过遍历实现赋值)
也可以强制类型转换 tomorrow = (struct date) {05, 1, 2022};

结构指针

在这里插入图片描述
与数组不同,结构体需要&取地址,指向的是结构变量的地址。
用->表示指针所指的结构变量中的成员

  • struct date *p = &today
  • (*p).month = 12 <==> p->month = 12

结构体变量也可做函数中的参数。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值