郝斌视频学习笔记006

006预备知识-结构体

1.为什么会出现结构体?

我们想简要地表明一个学生的信息,需要知道学号,姓名,年龄。学号可以用一个整型变量inum表示,姓名可以用一个字符数组chname[200]来表示,年龄用一个整型变量iage来表示。但是单独的三个变量之前没有任何关系,还是无法用来表示这个学生的信息。这时就需要一个新的数据类型,将这三个变量之间统一起来。这种新的数据类型就是结构体。为了表示一些复杂的数据,由于基本类型无法满足,于是出现了结构体。

2.什么叫结构体?

结构体是用户根据自己的需要定义的一种复合型数据类型

3.如何使用结构体?

两种使用结构体的方法:

第一种:结构体变量.数据成员

例如:stu1.inum

第二种:指针变量->数据成员(此指针变量指向相应的结构体变量)

例如:pstu2=&stu2;

  pstu2->inum; //pstu2->num等价于(*pstu2).num等价于stu2.num

4.使用结构体的注意事项

(1)结构体变量之间不可以加减乘除,但是可以相互赋值。

(2)普通结构体变量和结构体变量指针作为函数传参


分析:以结构体变量作为参数传递

  showstu的形参stu2需要占用的内存大约为4+200+4=208个字节。

  以结构体变量的地址作为参数传递

  outputstu的形参pstu只需要占用4个字节(任何一个指针变量都占用四个字体,上节课的笔记中提到指针变量指向变量的第一个字节,指针变量只需要表示出这一个字节的地址。共有32根地址线,表示出一个地址需要32位,所以指针变量占4个字节。

结论:推荐使用结构体变量的地址作为实参,结构体变量的指针作为形参。这样消耗的内存小,速度更快。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值