结构(定义结构+访问结构+结构参数+结构数组)

结构由固定的成员构成,每一个结构变量在内存中占有一片连续的内存空间。

定义结构

  1. struct是关键字,紧接着的类型标识符是自定义,花括号外面是分号,里面是不同类型的成员定义,指针,整型,字符型等等都可以。
  2. 说明变量有三种方式:
    在第二个花括号之后在分号之前,不用再带类型标识符定义,直接写变量名即可;
    在分号之外说明变量,记得加上类型标识符;
    struct之后也可以不加类型标识符,就那样空着,但是这样会造成之后在分号之外无法再说明新变量。
  3. 注:可以在一个结构变量的定义中调用其他不同类型的结构变量,但是不可调用本类型的结构变量中的(非指针类型的)成员(会导致无限递归),如果是指针类型,可以调用,与后面的链表有关。

访问结构

数据成员必须在结构变量说明之后才有存储意义,因此数据成员不可脱离结构变量而单独存在和使用。

  1. 圆点运算符访问:today.wind
  2. 指针访问结构:(*p).name 或者p->name
  3. 相互赋值的仅限于相同类型的结构变量之间才可以这样操作。

结构参数

和基本类型变量一样,当结构类型变量作为函数参数的时候,可以作为传值参数,指针参数和引用参数,具体方法相同。

结构数组

  1. 定义:和上文相同,只是由a变成了a[10]。
  2. 访问:a[i].name
  3. 结构数组的元素类型是结构类型
  4. 排序的时候使用索引数组进行排序,可以大大减小工作量,直接一次性赋值,一次性交换整个结构中的所有成员,而不用像冒泡排序那样,每次交换数据都要一个成员一个成员的交换。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

每天都要学算法(努力版)

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

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

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

打赏作者

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

抵扣说明:

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

余额充值